Gast
#323738
Hat vielleicht schon jemand das Optrex 5008 mit einer 4 bit Ansteuerung zum Laufen gebracht ? Ich würde mich über etwas Beispielcode freuen...
|
Anzeige
|
Optrex 5008 4-bit Ansteuerung (GCC)
Gast
#323738
Hat vielleicht schon jemand das Optrex 5008 mit einer 4 bit Ansteuerung zum Laufen gebracht ? Ich würde mich über etwas Beispielcode freuen...
Gast
#323739
Ach ja, ist ein SED1335 Controller drauf. Vielen Dank!
Gast
#323740
Ich habe die Lib von Knut Baardsen gefunden.
Da ich das Display im 4-bit Modus ansteuern will habe ich die folgenden
Änderungen gemacht:
void lcd_write_data(unsigned char data)
{
/* originaler Code */
LCDDATAPORT = data;
LCDCTLPORT &= ~(A0);
LCDCTLPORT &= ~(WR);
LCDCTLPORT |= WR; */
// ab hier neue 4-bit routinen
/* output high nibble first */
LCDDATAPORT = (LCDDATAPORT & (~(0x0F << LCD_DATA_OFFSET))) | ((data &
0xF0) >> (4-LCD_DATA_OFFSET));
LCDCTLPORT &= ~(A0); // wie gehabt, siehe oben
LCDCTLPORT &= ~(WR);
LCDCTLPORT |= WR;
delay_ms(2); // sicher ist sicher ?
/* output low nibble */
LCDDATAPORT = (LCDDATAPORT & (~(0x0F << LCD_DATA_OFFSET))) | ((data &
0x0F) << LCD_DATA_OFFSET);
LCDCTLPORT &= ~(A0);
LCDCTLPORT &= ~(WR);
LCDCTLPORT |= WR;
}
Gleiches Schema für die lcd_write_command Funktion.
Hier noch die defines:
#define LCD_DATA_OFFSET 0 // PB0 = 0; PB3 = 3 etc.
// Data port
#define LCDDATAPIN PINA
#define LCDDATADDR DDRA
#define LCDDATAPORT PORTA
// Control port
#define LCDCTLPIN PINB
#define LCDCTLDDR DDRB
#define LCDCTLPORT PORTB
// Control pins
#define RST 0x01
#define RD 0x02
#define WR 0x03
#define A0 0x04
// LCD display data
#define LCD_X_SIZE 128
#define LCD_Y_SIZE 128
#define LCD_XTAL 10000000
Das Display wird scheinbar initialisiert (gelöscht), allerdings kann
ich weder Text noch Grafik schreiben.
Ist die Umsetzung auf 4 Bit oben korrekt ?
Gast
#323741
>Ist die Umsetzung auf 4 Bit oben korrekt ?
Nein, denn der Controller unterstützt keine 4bit. Aber das hast du ja
bestimmt beim Lesen des Datenblatts schon gemerkt...
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|