реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Ну не получается прочитать PORTA
Mad-man
сообщение Feb 28 2010, 15:38
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 5-11-06
Пользователь №: 21 995



Висит кнопка (переключатель) PA5, пытаюсь прочитать ее значение и что-то не получается (вычитывается ноль)
Подвожу на PA5 +3.7в (Питание +4в)


CODE

int main()
{

// LED
PORTB = 0b00010000; // PB4 - ONT
DDRB = 0b00010000; // PB4 - off (PS: active low)

// Button
PORTA = 0b00000000; // PA5 - IN
DDRA = 0b00000000; // PA5 - TriState


ACSR = 0b10000000; // Analog Comparator: Off
ADCSRA = 0b10000000; // Disable ADC 0x80;



while(1)
{
if (PORTA & 0x100000) PORTB &= ~0b00010000;

// для проверки
//PORTB &= ~0b00010000;

}




}


Сообщение отредактировал Omen_13 - Feb 28 2010, 17:51
Причина редактирования: Оформление кода
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Feb 28 2010, 15:49
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Читать то надо не PORTA, a PINA
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 28 2010, 16:43
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



И 0x100000 - явный перебор.
Go to the top of the page
 
+Quote Post
Mad-man
сообщение Feb 28 2010, 16:58
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 5-11-06
Пользователь №: 21 995



Не помогает(((( Может быть что-то еще?

Цитата(aaarrr @ Feb 28 2010, 19:43) *
И 0x100000 - явный перебор.


почему? 0x100000 = 5пин

Сообщение отредактировал Mad-man - Feb 28 2010, 17:03
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 28 2010, 17:01
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Mad-man @ Feb 28 2010, 18:58) *
Не помогает(((( Может быть что-то еще?

Еще проверьте, что AVCC подключен к VCC. Питание порта A происходит от AVCC.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 28 2010, 17:09
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Mad-man @ Feb 28 2010, 19:58) *
почему? 0x100000 = 5пин

Нет, 0x100000 мог бы быть двадцатым.
Go to the top of the page
 
+Quote Post
MDD
сообщение Feb 28 2010, 17:09
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 7-05-06
Пользователь №: 16 862



Если АЦП висит на PORTA, то и для "цифровой работоспостобности" этого порта нужно подавать питание AVcc. Не забыли?
Пока писал, оказалось, что уже на это обратили Ваше внимание smile.gif

Сообщение отредактировал MDD - Feb 28 2010, 17:17
Go to the top of the page
 
+Quote Post
Mad-man
сообщение Feb 28 2010, 17:27
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 5-11-06
Пользователь №: 21 995



Цитата(MDD @ Feb 28 2010, 20:09) *
Если АЦП висит на PORTA, то и для "цифровой работоспостобности" этого порта нужно подавать питание AVcc. Не забыли?
Пока писал, оказалось, что уже на это обратили Ваше внимание smile.gif


АЦП я выключил
Код
ACSR = 0b10000000; // Analog Comparator: Off
ADCSRA = 0b10000000; // Disable ADC 0x80;



PS: попробовал переключить еще порт в режим PullUp (PORTA.5=1) - тоже нефига.
Но PullUp мне не нужен. Мне режим TriState нужен


Нет, 0x100000 мог бы быть двадцатым.

ПЛЯЯЯЯЯЯЯЯ!!! Точно!)))) Ураааа, все заработало)))))

(с) Буратино был тупой как бревно)))

Сообщение отредактировал Omen_13 - Feb 28 2010, 17:52
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Feb 28 2010, 17:32
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Исправленный текст программы представьте.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 04:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016