Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo, > > > Ich habe osopt3.hex und unitdriver.hex geladen. > > Zuerst solltest Du Dir im klaren sein, was Du an Module und treibern benötigst !!!!! > unitdriver.hex wäre das erste, was ich löschen würde. > Das ist ein 500%ig veralteter Treiber für die 1000%ig veralteten original Module. > Was Du benötigst ist: > - OSOPT V3.0 (osopt_v3-0.hex , so heißt die Datei des OS, und nicht anders) > - sys0002.hex > Das sind ersteinmal die Grundvoraussetzungen. > > > ich habe an meinem Application Board das standard 2x16 LCD und die Standard Folientastatur > > in Kombination der Module stkeyb und lcdext betrieben. > > Dann, was hat das Modul stkeyb.c2 mit dem Appl.Board zu tun ??? > Das Modul ist ausschließlich für die CC2-Station gedacht. > > > > Nachdem ich jetzt ein 4x20 LCD an einem i2cTerminal (1042er) angeschlossen habe, sind > > Tastatureingaben nur noch sehr zögerlich möglich. > > Was heißt zögerlich. Wie sehen Deine Routinen zum Abfragen aus ? > > > In der Datei stkeyb.c2 habe ich alle lcdext Aufrufe nach pcflcd geändert und bin auf folgendes Problem > > gestoßen: > > <code> > > if key == 10 // Eingabe löschen > > { > > value=0; > > pcflcd.WriteCmd(0b100); > > pcflcd.fill(0x20,i); // gibt es nicht mehr ! > > pcflcd.WriteCmd(0b110); > > pcflcd.cursorright(); > > i=0; > > }</code> > > > > Da es in pcflcd.c2 auch keine fill Funktion mehr gibt, kann ich leiber keine > > Fehleingaben mehr löschen. > > Es ist richtig, daß es in pcflcd.c2 kein fill() gibt. > Die Funktion fill() gibt lediglich eine Anzahl Zeichen hintereinander aus. > das WriteCmd(0b100) sorgt dafür, daß der Cursor decrementiert wird, und somit nach > rechts wandert. Es ist quasi ein Backspace. > > Für das Modul pcflcd.c2 müsste die vier Zeilen der obigen Routine folgendemaßen aussehen: > <code> byte c; > i2c.cstart(pcflcd.PCF); > i2c.write(pcflcd.light or 0x4);// HighNibble > i2c.write(pcflcd.light); > i2c.write(0x44 or pcflcd.light); // LowNibble > i2c.write(0x40 or pcflcd.light); > for c=0 ... <i > { > i2c.write(0x25 or pcflcd.light); > i2c.write(0x21 or pcflcd.light); > i2c.write(0x05 or pcflcd.light); > i2c.write(0x01 or pcflcd.light); > } > i2c.write(pcflcd.light or 0x4);// HighNibble > i2c.write(pcflcd.light); > i2c.write(0x64 or pcflcd.light); // LowNibble > i2c.write(0x60 or pcflcd.light); > i2c.write(0x14 or pcflcd.light); // HighNibble > i2c.write(0x10 or pcflcd.light); > i2c.write(0x44 or pcflcd.light); // LowNibble > i2c.write(0x40 or pcflcd.light); > i2c.stop(); > </code> > > MfG André H.