
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo, bin gestern Abend erst zum ausprobieren des im Supportbereich liegenden Beispieles gekommen. > > Das ist correct. Auf www.c-control-support.de liegt eine Demo für Sonderzeichen > > am LCD. Da ist dieser WRITE-COMMAND Teil in BASIC gelöst und hat nur ein paar > > Byte. Ich habe im OS aus Platzgründen darauf verzichtet. > > Das ist auch völlig in Ordnung.Ich hatte lediglich Scheuklappen auf den Augen, die > Supportbeispiele noch nicht gefunden und war zu blöd auf diese naheliegende Lösung > selbst zu kommen. So naheliegen die Lösung ist (im Prinzip wird ja die gleiche Mimik wie in den alten Basic LCD Routinen für die V1 verwendet, nur ohne TOG dafür Umschalten mit AND und OR), bei mir will weder das Beispiel, noch meine abgespeckte Kernroutine. Dieses Einfachstprogramm sieht so aus (Kommentare, was wie wo funktioniert znd was nicht sind ins Programm geschrieben): '---- Definitionen ----------------------------------------------- define LCDPORT byteport[2] define OUTBYTE byte[1] define LCDDATA byte[2] define LCD_CursorOff &B00001100 'kein Cursor sichtbar define LCD_CursorOn &B00001110 'Cursor sichtbar '-------------- Programmstart -------------------------------- print "#ON_LCD#"; print "#INIT#"; print "#CLR#"; pause 50 print "123"; 'wird ausgegeben pause 50 'Cursor soll eingeschaltet werden.... LCDDATA=LCD_CursorOn:gosub LCD_WRITECMD '...wird auch eingeschaltet - danach Absturz - pause 50 print " 456"; 'war wohl nix 'das end wird (natürlich) nicht erreicht end '----------------------------------------------------------- 'Subroutine wie im Beispiel -------------------------------- '--------- ------WRITE HI NIBBLE LCD COMMAND --------------- #LCD_WRITECMD OUTBYTE=(LCDDATA shr 4) LCDPORT=OUTBYTE or &B01000000:LCDPORT=OUTBYTE and &B10111111 '--------------- WRITE LO NIBBLE ------------------------ OUTBYTE=(LCDDATA and &H0F) LCDPORT=OUTBYTE or &B01000000:LCDPORT=OUTBYTE and &B10111111 return '----------------------------------------------------------- Verwendet wird ein Displaytech 16x4 , das klaglos funktioniert und die Befehle zum Cursor setzten in der alten Basic Routine mit der V1 auch akzeptiert. SLOWMODE hilft auch nicht, probehalber eingesetzte Verzögerungsschleifen bringen keinen Erfolg (for next). Allzuviele Werte habe ich da nicht probiert, Wo liegt der Fehler? Grüße Henrik Meine Homepage: http://www.henrik-reimers.de |
| Antwort schreiben |