Отговори на тема  [ 11 мнения ] 
atmega16 PORTC 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение atmega16 PORTC
Може ли половината да се ползва като изход, и половината като вход?
Има следната опитна постановка:

DDRC = 0xF0;

Горния полубайт са изходи, долния - входове. Между изходите и входовете има бутони. Така, че като направя

PORTC = 0xF0;

очаквам като прочета:

test = PINC & 0x0F;

да имам стойности 1, 2, 4 или 8 в зависимост от кой бутон е натиснат. На практика, обаче, коректно получавам единствено 1, за останалите 3 бутона получавам 0x0E, защото при натискане на кой да е от трите, ми светват и трите пина едновременно. Проверих го и с мултицет и наистина, електрически се получава точно това. Не мога да разбера защо се получава така, промяната на нивото на единия пин влече промяна и на другите 2.


Нед Яну 04, 2015 1:20 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: atmega16 PORTC
А провери ли дали нямаш късо между тия три входа? :)


Нед Яну 04, 2015 1:50 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение Re: atmega16 PORTC
Nikola Kirov написа:
А провери ли дали нямаш късо между тия три входа? :)


Разбира се, просвирих ги и няма. :) Дали пък самия чип не е заминал?


Нед Яну 04, 2015 2:10 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: atmega16 PORTC
пулъп / пулдаун ? Как очакваш бутона да ти пусне логическа 0 като не е натиснат - реално той е в "тристейт" изход - входа може да отиде където си иска...


Нед Яну 04, 2015 2:16 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение Re: atmega16 PORTC
Ами с включени вътрешни пулъпове се държи още по-странно. :) Пина, дето е замасен си е на маса, другия до него е на некви 3v, а третия е на 1.5v :D


Нед Яну 04, 2015 2:37 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 2:21 am
Мнения: 12765
Местоположение: София
Мнение Re: atmega16 PORTC
Ако на същите пинове има друга аналогова или цифрова периферия, тя конфигурирана ли е?


Нед Яну 04, 2015 2:45 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: atmega16 PORTC
Колегата правилно ти е писал за pull down.
В този вариант трябва да имаш на всеки вход резистор към маса. От последните ти обяснения става ясно че нямаш.
Ако искаш без резистори трябва да инвертираш логиката на работа.
Изходите да дават нула а на входовете да активираш pullup.


Нед Яну 04, 2015 2:49 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение Re: atmega16 PORTC
В крайна сметка смених чипа и се оправи. Явно докато съм си играл е прицъркала някоя искра и е размазала всичко.


Нед Яну 04, 2015 3:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: atmega16 PORTC
И как става работата без pulldown? :)


Нед Яну 04, 2015 3:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение Re: atmega16 PORTC
Ми принципно няма проблем, но го оставих така с вътрешния пулъп, щото е наистина по-сигурно.


Нед Яну 04, 2015 10:51 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Авг 07, 2009 4:58 pm
Мнения: 273
Мнение Re: atmega16 PORTC
Имаше особеност при АВР, когато се пише PORTx, е необходим NOP, ако в следващата инструкция ще се чете PINx. Описано е в раздел "Reading the Pin Value", струва ми се.


Чет Яну 08, 2015 5:22 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 11 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 9 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни