Habe das Problem, daß beim Aufruf von lcd_init() ICF1 = 1 gesetzt wird
(im Simulator).
Die Testdatei beinhaltet lediglich:
1 | // -------------------------------------------------------------------
|
2 | // Projekt : LCD-Test
|
3 | // Taktrate: 8 MHz
|
4 | // Prozessor: ATtiny2313
|
5 | // -------------------------------------------------------------------
|
6 |
|
7 | #include <avr/io.h> // Definitionen für den ATtiny2313
|
8 | #include "lcd-routines.h"
|
9 |
|
10 | int main(void) {
|
11 | lcd_init(); // LCD-Initialisierung
|
12 | lcd_setcursor(0,1); // Cursor auf erstes Zeichen in der ersten Zeile
|
13 | lcd_string("Test: ");
|
14 |
|
15 | while(1);
|
16 | }
|
Die LCD-Routinen habe ich 1:1 aus dem Tutorial hier übernommen.
Lediglich die Pinkonfiguration ist in der .h angepaßt:
1 | // LCD DB4-DB7 <--> PORTD Bit PD0-PD3
|
2 | #define LCD_PORT PORTD
|
3 | #define LCD_DDR DDRD
|
4 | #define LCD_DB PD0
|
5 |
|
6 | // LCD RS <--> PORTD Bit PD4 (RS: 1=Data, 0=Command)
|
7 | #define LCD_RS PD4
|
8 |
|
9 | // LCD EN <--> PORTD Bit PD5 (EN: 1-Impuls für Daten)
|
10 | #define LCD_EN PD6
|
Aber daran kann es doch nicht liegen?
Weiß jemand, was hier los ist?