Hi,
eigentlich fehlt da noch was:
Erst wird das WriteCommand angesprochen, danach das WriteData.
Stimmt dann das von vorher noch?
Danke.
Code:#define SED1335_DATA_PORT PORTA #define SED1335_DATA_DIR DDRA #define SED1335_DATA_PIN PINA #define SED1335_CONTROL_PORT PORTD #define SED1335_CONTROL_DIR DDRD #define SED1335_CONTROL_PIN PIND #define SED1335_A0 (1 << PD4) #define SED1335_WR (1 << PD5) #define SED1335_RD (1 << PD6) #define SED1335_CS (1 << PD3) #define SED1335_RES (1 << PD2) //------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------- void GLCD_InitializePorts(void) { SED1335_DATA_DIR = 0xFF; SED1335_CONTROL_PORT |= (SED1335_A0 | SED1335_WR | SED1335_RD | SED1335_CS | SED1335_RES); SED1335_CONTROL_DIR |= (SED1335_A0 | SED1335_WR | SED1335_RD | SED1335_CS | SED1335_RES); } //------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------- void GLCD_WriteData(unsigned char dataToWrite) { SED1335_DATA_PORT = dataToWrite; SED1335_DATA_DIR = 0xFF; SED1335_CONTROL_PORT &= ~(SED1335_CS | SED1335_A0 | SED1335_WR); asm("nop"); asm("nop"); SED1335_CONTROL_PORT |= (SED1335_CS | SED1335_A0 | SED1335_WR); } //------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------- void GLCD_WriteCommand(unsigned char commandToWrite) { SED1335_DATA_PORT = commandToWrite; SED1335_DATA_DIR = 0xFF; SED1335_CONTROL_PORT &= ~(SED1335_CS |SED1335_WR); asm("nop"); asm("nop"); SED1335_CONTROL_PORT |= (SED1335_CS | SED1335_WR); } //-------------------------------------------------------------------------------------------------







Zitieren

Lesezeichen