Unten hängt der Standardcode zum Schreiben eines Zeichens auf das Display. Ich habe das Display an einen LPC2366 angeschlossen mit 3,3 Volt. Die Anzeige von Zeichen klappt ja, jedoch wackelt die Anzeige beim Aufruf von "lcd_cmd(RAMWR);" und hört erst bei "setCS();" wieder auf. Danach steht aber das Richtige auf dem Display? Kabellänge = 20cm. Bei 35 cm passiert das selbe. Am Atmel Mega128 läuft es prima, sowohl mit 20cm als auch 35 cm. Definition wackeln hier: Der geschriebene Text bewegt sich sehr schnell um ca. 10 Pixel auf-, und abwärts(Display ist hochkant). Es entstehen dabei streifen im Text. Ab und zu sind auch andere Pixelgruppen betroffen jedoch extrem kurz und zufällig verteilt. Beim flashen macht es auch was will. Vielleicht hilft diese Info ja auch. Bitte dringend um Hilfe :-) Quellcode des Schreibvorgangs: //////////////////////////////////////////////////////////////////////// //// ######################################################################## #### void put_char(uint8_t x, uint8_t y, char c) { uint8_t h,ch,p,mask,he; uint16_t pi=0; uint8_t x1,y1; uint16_t e1; x1=x; y1=y; resetCS(); lcd_cmd(SD_CSET); lcd_dat0(0x08+x); // start is 8, not 0 lcd_dat0(0x01); lcd_dat0(0x08+x+CHAR_W-1); // end is 00x8B = 0x83+8 lcd_dat0(0x01); lcd_cmd(SD_PSET); lcd_dat0(y); if (y < DISP_H-CHAR_H) { he=CHAR_H; lcd_dat0(y+CHAR_H-1); } else { he=DISP_H-y; lcd_dat0(DISP_H-1); } //##################################################################### lcd_cmd(RAMWR);//Start des Wackelns //##################################################################### for (h=0; h<he; h++) // every column of the character { ch=ascii_tab[ c-32 ][h]; mask=0x80; for (p=0; p<CHAR_W; p++) // write the pixels { if (ch&mask) { lcd_dat16(textcolor); } else { e1=((y1+h)*134)+134-((x1+p))-1; pi = Bild[e1]; //pi = pgm_read_word(&Bild[1706+((h+1)*20)]); //lcd_dat16(backcolor); lcd_dat16(pi); //_delay_ms(200); //put_pix(xp, yp, pix); } mask=mask/2; } // for p } //##################################################################### setCS();//Ende des Wackelns egal wie lang es bis hier hin //dauert, erst hier hört die Wackelei auf, und das richtige //wird angezeigt //##################################################################### } //////////////////////////////////////////////////////////////////////// // ######################################################################## ##
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.