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);
}
//-------------------------------------------------------------------------------------------------
Lesezeichen