Witam, mam problem z programikiem w CodeVision na AT90S2313. Chcê w momencie nacisniecia przycisku wyswietlic napis. I tu mam problem.Robiê to tak : if (PIND.0==1) { ...} else {wy¶wietl ...}. Problem w tym, i¿ zawsze robi to co jest po ifie,niezaleznie od spelnionego warunku. Po zwarciu do masy, robi to co powienien, ale potem nadala robi pierwsze po ifie (niezale¿nie czy PIND.0==1 czy PIND.0==0) Porty mam ustawione jako wej¶cia (ustwaione przez generator). Nie wiem co jest nie tak. Mo¿e kto¶ mi pomóc ? A moze ktos ma jakies przykladowe programiki na AT90s2313 i CodeVision ? Pozdrawiam Piotrek
CodeVision
Apr 25, 2005
3 Replies
Witam:
Konfiguracja PORTD jako wej¶cia: DDRD=0; W³±czenie rezystorów wewnêtrznych PULL UP: PORTD=0xFF;
AVR-ry s± szybkie i dodatkowo nale¿y dopisaæ procedurê do eliminacji drgañ styków przycisku. Mo¿e byæ to np. opó¼nienie:
if( PIND.0 ) {........... } else { delay_ms(10); if( ! PIND.0) { wyswietl(); } }
pozdr. józek
U¿ytkownik "muniek" snipped-for-privacy@wp.pl napisa³ w wiadomo¶ci news:d4iuf5$ogn$ snipped-for-privacy@news.dialog.net.pl...
U¿ytkownik "józek" snipped-for-privacy@vp.pl napisa³ w wiadomo¶ci news:d4j6fc$scs$ snipped-for-privacy@news.onet.pl...
No niestety. Mia³em opó¼nienie nawet 1000 ms a i tak robi³o to co w pierwszym ifie (czy to == 0 czy ==1). Poradzi³em sobie na razie inaczej. Port podci±gniêty do +5 V (przez rezystor 10 k) i zwierany do masy przyciekiem. Dzia³a. Ale chcia³em bez rezystancji . Pozdrawiam Piotrek
muniek napisał(a):
No to kolega nie doczytał... Można ustawićwewnętrzne podciągnięcie : DDRD.0=0 PORTD.0=1
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required