Hallo, Leute!
Ich habe endlich die Platine fertig gelötet, und bin dabei ein paar
Tests zu machen.
Erstmal wollte ich einige Zeichen auf dem Display schreiben.
So wie ich verstanden habe, kann ich die Library von Fleury nutzen, um
einen EA DOGM163 zu steuern.
Der Schaltplan ist als Anhang.
Ich habe folgende Konfiguration in meinem lcd.h:
1 | #define LCD_CONTROLLER_KS0073 0 /**< Use 0 for HD44780 controller, 1 for KS0073 controller */
|
2 |
|
3 | #define LCD_LINES 3 /**< number of visible lines of the display */
|
4 |
|
5 | #define LCD_PORT PORTC /**< port for the LCD lines */
|
6 | #define LCD_DATA0_PORT LCD_PORT /**< port for 4bit data bit 0 */
|
7 | #define LCD_DATA1_PORT LCD_PORT /**< port for 4bit data bit 1 */
|
8 | #define LCD_DATA2_PORT LCD_PORT /**< port for 4bit data bit 2 */
|
9 | #define LCD_DATA3_PORT LCD_PORT /**< port for 4bit data bit 3 */
|
10 | #define LCD_DATA0_PIN 7 /**< pin for 4bit data bit 0 */
|
11 | #define LCD_DATA1_PIN 6 /**< pin for 4bit data bit 1 */
|
12 | #define LCD_DATA2_PIN 5 /**< pin for 4bit data bit 2 */
|
13 | #define LCD_DATA3_PIN 4 /**< pin for 4bit data bit 3 */
|
14 | #define LCD_RS_PORT LCD_PORT /**< port for RS line */
|
15 | #define LCD_RS_PIN 0 /**< pin for RS line */
|
16 | #define LCD_RW_PORT LCD_PORT /**< port for RW line */
|
17 | #define LCD_RW_PIN 2 /**< pin for RW line */
|
18 | #define LCD_E_PORT LCD_PORT /**< port for Enable line */
|
19 | #define LCD_E_PIN 3 /**< pin for Enable line */
|
Und mein main.c ist wie folgendes:
1 | int main(void)
|
2 | {
|
3 | DDRC |= (1<<1);
|
4 |
|
5 | lcd_init(LCD_DISP_ON);
|
6 | lcd_clrscr();
|
7 | lcd_puts("LCD Test Line");
|
8 |
|
9 | while(1)
|
10 | {
|
11 | PORTC |= 2;
|
12 | delayMS(1000);
|
13 | PORTC &= ~2;
|
14 | delayMS(1000);
|
15 | }
|
16 | return(0);
|
17 | }
|
Was ich mich erwartet habe war, daß ich "LCD Test Line" schreibe, und
dann der Display in Sekundentakt ein- und ausschalte.
Leider passiert nur daß der Display blinkt (in Sekundentakt, also die
Schleife), aber nichts wird geschrieben...
Ist es was in den Code falsch, oder soll ich annehmen, daß meine
Schaltung ein Problem hat?
Besten Dank!
Luca Bertoncello