
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> > > > Hallo Manfred, > > > > ich Danke Dir für Deine Hilfe! Jetzt, wo Du mich darauf hingewiesen hast, springt es mir auch direkt in die Augen. Ich werde in Zukunft mehr auf die Sprung-Anweisungen und auf die logische Abfolge eines Programms Achten!(Die C64 Zeiten sind schon lange her) Aber ich hoffe, Du verzeihst mir? Ach so, bevor ich es Vergesse: Betreff des Programms "lcddrv11.s19", ist es eigentlich egal ob man eine 16 oder 20 stellige LCD-Anzeige verwendet? Ich habe eine 2 x 16 stellige und es ist, als ob ständig ein Überlauf in die 2te Zeile stattfindet! Obwohl ich eine eindeutige Line1 und auch Line2 Anweisung angebe(habe mich ganz genau an Dein Demolisting gehalten) erscheinen im Display noch irgendwelche Hyroglyphen. > > > > Gruß > > Klaus > > Hallo, > > die Beispielprogramme auf meiner Seite sind alle von mir getestet. > Falls sie nicht arbeiten, bleibt nur ein Hardware-Fehler bzw. abweichende Hardware Deiner Anlage übrig. > > Falls dieser Test Deiner Hardware erfolgreich war, lädst Du Dein Programm. Wenn jetzt Fehler auftauchen, kann es nur an Deiner Software liegen. > Wenn Du nur 16 Zeichen ausgibst, brauchst Du Dich um die Frage des Überlaufs nicht zu kümmern. > Für die Zeile 2 wird Line2 als Anfang vorgegeben und dadurch erscheinen die 16 Zeichen dort. > > Zum Testen kannst Du Taster mit Flankenauswertung einfügen und die Zeichen mit Taster einzeln ausgeben. Dann findet man Fehler im eigenen Programm. > > MfG ManfredW Hallo Manfred, ich habe meine Hardware natürlich überprüft und konnte keinen Fehler feststellen! Auch das Anstecken des Original Conrad Displays ergab keine Änderung. Deshalb stellte ich diese Frage. Ich bin also mein Prog noch mal durchgegangen und Sehe eingentlich keinen Grund, warum da plötzlich in der ersten Zeile direkt am Anfang ein Barzeichen und ein Prozentzeichen (vor dem Text)auftaucht! Das Gleiche in der Mitte der zweiten Zeile(nach dem Text). Ansonsten zeigt das Display genau das was ich von Ihm will. Anweisung des Progs: define U1 AD[1] define X Byte[2] define a2 Port[4] '-------LCD Parameter---------------- define LINE byte[1]'Übernommen von Manfred define POS byte[1]' define DEZ byte[1] '-------LCD SYSTEM ADDR------- define LCD_INIT &H101 define LCD_LINE1 &H125 define LCD_LINE2 &H12A define LCD_POSL1 &H12F define LCD_POSL2 &H133 define LCD_DEZ &H1C3 define LCD_PRINT &H179 '--------INIT LCD------------------------ SYS &H101 '-------------Programm----------------- #X 'Lesen des AD-Eingangs und Anpassen auf Wert X, zur einfachen Darstellung X=U1/16 gosub Ausgänge gosub U gosub Anzeige #Ausgänge 'Port wird eingeschaltet wenn X gleich Zahl ist (Sekundärluft wird zugefügt) if X = 2 then a2=1 else a2=0 'Port 4 return #U 'Sprungbefehl zum Festtext if X = 2 then gosub Print return #Print 'Ausgeben des Festtextes bezogen auf den AD-Eingang/16 if X = 2 then sys LCD_PRINT:SYS LCD_LINE1:print"Lamb 1.08 !": 'U1=125mV return #Anzeige 'Überprüfung des Eingangs zum Abgleich mit der 1ten Zeile POS=8:SYS LCD_POSL2:DEZ=X:SYS LCD_DEZ:'Anzeige des AD Werts / 16 Zeile 2 Pos 8 return goto X 'Sprung zum Anfang 'syscode "lcddrv11.s19" Wie gesagt, das Prog macht genau das was ich möchte, bis auf die beiden Fehler in den beiden Zeilen! Für Verbesserungsvorschlag bin ich total offen. Gruß Klaus |
| Antwort schreiben |