Problem s LCD
Radim Hořínek
cotidotoho@volny.cz
Sobota Listopad 5 17:51:16 CET 2005
Zdravim konferenci!
Narazil jsem na "zajimavy" problem s LCD displejem. K jeho obsluze
pouzivam funkce z CodeVisionAVRv C. Pri simulaci v AVR studiu se mi ale
program docela casto zacyklil. Nakonec jsem prisel na to, ze funkce na
cekani na zapis vypada takto:
#asm
.equ __lcd_direction=__lcd_port-1
.equ __lcd_pin=__lcd_port-2
.equ __lcd_rs=0
.equ __lcd_rd=1
.equ __lcd_enable=2
.equ __lcd_busy_flag=7
#endasm
__lcd_busy:
rcall __lcd_delay
sbi __lcd_port,__lcd_enable ;EN=1
rcall __lcd_delay
sbic __lcd_pin,__lcd_busy_flag
rjmp __lcd_busy
cbi __lcd_port,__lcd_enable ;EN=0
Ale pritom brány 4-7 jsou a maji byt vyuzity pro posilani dat do
displeje.To znamena, ze pokud poslu do displeje jakakoli data, ktera
nastavi bit 7 na 1 (napr znak "o" a spousta dalsich) dojde k zacykleni,
prouoze je nasteven "busy_flag". Jak mam toto osetrit? Napadlo mejednoduse
to testovani vypustit, ale potom asi nebude dodrzeno spravne casovani....
Jaky bit mam tedy testovat?
Prosim o radu a zaroven dekuji.
Radim Horinek
--
Tato zpráva byla vytvořena revolučním poštovním klientem Opery:
http://www.opera.com/mail/
Další informace o konferenci Hw-list