| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Меняется показание PORTB само
11.04.2011, 14:00
|
|
|
Прописка
Регистрация: 06.03.2007
Сообщений: 144
Сказал спасибо: 22
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
|
Меняется показание PORTB само
Здравствуйте,
Подскажите, в чем может быть дело:
|
Код:
|
void volatile ReadPorts(){
if(PIND!=0x00){ //тут PORTB=0x1F (а должен быть 0xFF)
if((PIND&(1‹‹D1)) && fD1==0){
_delay_ms(100);
if(PIND&(1‹‹D1)){
fD1=1;
}
}
if(!(PIND&(1‹‹D1))){
fD1=0;
}
}
}
void main(){
DDRB=0xFF;//инициализация портаВ
PORTB=0xFF;
while(1){
ReadPorts();
}
} |
Последний раз редактировалось sanstan; 11.04.2011 в 14:04.
|
|
|
|
11.04.2011, 14:21
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
|
Re: меняется показание PORTB само.
так что на ногах-то сидит? Осциллографом посмотреть? (а ещё лучше- подтяжку внутреннюю включить- и глянуть)
(кстати- о подтяжках.. всегда работала , пара процессоров последних(16-х)- в воздухе ноги болтаются, специально проверял-задело.Снимал показания- и на другую ногу-болтается зараза(если вопросы- типа я дурак ..не принимается- просто плату в руки берёшь- входа-рукоплещат , 50 кОм вешаешь-смирные))
Последний раз редактировалось OlegNZH; 11.04.2011 в 14:29.
|
|
|
|
11.04.2011, 14:28
|
|
|
Прописка
Регистрация: 06.03.2007
Сообщений: 144
Сказал спасибо: 22
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
|
Re: меняется показание PORTB само.
Это в отладочном режиме.
До пайки еще дело не дошло.
|
|
|
|
11.04.2011, 14:31
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
|
Re: меняется показание PORTB само.
ааа. Тогда - Процессор ,Где моделируете .Какие порты.(У меня помнится AVRStudio ранняя барагозила)
|
|
|
|
11.04.2011, 14:40
|
|
|
Прописка
Регистрация: 06.03.2007
Сообщений: 144
Сказал спасибо: 22
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
|
Re: меняется показание PORTB само.
среда разработки AVR Studio 4.16
процессор ATMega1280
ПортB шалит. Остальные , на первый взгляд как положено работают.
|
|
|
|
11.04.2011, 15:05
|
|
|
Частый гость
Регистрация: 26.09.2006
Сообщений: 7
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: меняется показание PORTB само.
У вас идет инициализация порта B, а в подпрограмме ReadPorts проверяюся пина порта D.
|
|
|
|
11.04.2011, 15:10
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
|
Re: меняется показание PORTB само.
а как ещё? Сначала установили - потом в while-проверяется.Нормально всё .(Здесь дело в AVR Studio 4.16 (была такая штучка - и именно 3 бита зарезала(на каком порту не вспомню,но- было))) (я- давно ушёл от неё - мне проще в железе проверять)
Последний раз редактировалось OlegNZH; 11.04.2011 в 15:14.
|
|
|
|
11.04.2011, 15:12
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: меняется показание PORTB само.
alxml, прав!
Сообщение от sanstan
|
Здравствуйте,
Подскажите, в чем может быть дело:
|
Код:
|
void volatile ReadPorts(){
if(PIND!=0x00){ //тут PORTB=0x1F (а должен быть 0xFF)
if((PIND&(1‹‹D1)) && fD1==0){
_delay_ms(100);
if(PIND&(1‹‹D1)){
fD1=1;
}
}
if(!(PIND&(1‹‹D1))){
fD1=0;
}
}
}
void main(){
DDRB=0xFF;//инициализация портаВ
PORTB=0xFF;
while(1){
ReadPorts();
}
} |
|
.............no comments................
Последний раз редактировалось omercury; 11.04.2011 в 15:14.
|
|
|
|
11.04.2011, 15:20
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
|
Re: меняется показание PORTB само.
omercury не ругайтесь ( я- дальше авторского коммента во 2 строке- не ходил )- что там дальше- не важно.Главное- Порт на вход ,без подтяжки , и при опросе- 3 бита теряет.Всё!(а что там дальше...- ну- пишет так Человек- не судите)(4.16 была у меня- там именно такая бяка - я уж не помню- как разрулил)
|
|
|
|
11.04.2011, 15:34
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: меняется показание PORTB само.
AVR Studio 4.18 ещё доступна для скачивания. Вместе с паками
Ну и WinAVR последний актуальный...
Сообщение от OlegNZH
|
|
4.16 была у меня- там именно такая бяка - я уж не помню- как разрулил
|
Полагаю переустановкой. У меня тоже была 4.16. На Асме абсолютно без глюков.
Последний раз редактировалось omercury; 11.04.2011 в 15:43.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:42.
|
|