Hallo zusammen, ich hab' da ein echtes Problem mit meinem LCD (HD44780U Controller) 8x2 Lines und 4 Bit Dateninterface. Ich möchte absolut keine Rechenzeit verlieren und daher muss ich das Busyflag auswerten, leider klappt das einfach nicht im 4 Bit Modi... Im 8 Bit Modi funktioniert die Sache echt super mit dem fast gleichen Codeausschnitt. Ich hab' keine Ahnung was ich noch probieren kann, vielleicht hat ja schon jemand das Busyflag im 4 Bit Modi zum Laufen gebracht oder hat sonst eine Idee..... In Stiller Hoffung auf eine Lösung, Michael
hab mal was aus dem Compilerlisting herauskopiert, das funktioniert jedenfalls.Musst halt selbst durchsteigen. Hoffentlich hast du daran gedacht, dass die Abfrage des busyflag erst ab einem bestimmten Zeitpunkt der Initialisierung möglich ist? __base_y_G2: 000176 .BYTE 0x4 .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 __lcd_x: 00017a .BYTE 0x1 __lcd_y: 00017b .BYTE 0x1 __lcd_maxx: 00017c .BYTE 0x1 .CSEG __lcd_ready: 0002e4 b3a4 in r26,__lcd_direction 0002e5 70af andi r26,0xf ;set as input 0002e6 bba4 out __lcd_direction,r26 0002e7 9aa9 sbi __lcd_port,__lcd_rd ;RD=1 0002e8 98a8 cbi __lcd_port,__lcd_rs ;RS=0 __lcd_busy: 0002e9 d00c rcall __lcd_delay 0002ea 9aaa sbi __lcd_port,__lcd_enable ;EN=1 0002eb d00a rcall __lcd_delay 0002ec 999f sbic __lcd_pin,__lcd_busy_flag 0002ed cffb rjmp __lcd_busy 0002ee 98aa cbi __lcd_port,__lcd_enable ;EN=0 0002ef 9508 RET
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.