Gast
#64562
Hallo zusammen, ich versuche zur Zeit, ein 128x64er LCD mit Daten zu befuellen, die ueber den UART auf meine AVR/LCD-Platine geschaufelt werden. Dazu will ich die 8 Zeilen des KS0108-basierten Displays byteweise beschreiben. Das funktioniert AVR-intern auch ganz gut. Wenn ich allerdings die Daten vom PC (Linux) aus schicke, kommt nicht immer das richtige an: von 0x00-0x0a kommt gar nix rueber, und ab 0x80 auch nicht mehr so ganz das richtige. Zum Versenden verwende ich das /dev/tty... -Interface; zur Zeichengenerierung habe ich mir eine simple C-Schleife gestrickt, die via putc Zeichen von 0x00-0xff and stdout ausspuckt. Der stdout wird dann einfach umgeleitet. Im AVR verwende ich einen einfachen (Ring-)Puffer mit einem Lese- und einem Schreibzeiger. Die Daten werden in der Interruptroutine in den Puffer geschrieben, der Schreibzeiger erhoeht. Im Hauptprogramm liest der AVR die Daten aus und erhoeht den Lesezeiger. Overflows sind ausgeschlossen. Hat jemand eine Idee, was da schieflaufen koennte? Meine Grundannahme Byte(PC) -> /dev/ttyUSB0 -> UDR -> Buffer -> Display scheint irgendwie nicht so zu laufen. Gruss, Dirk