Hallo Zusammen,

Bin relativ neu hier, hab aber gleich mal vorweg ein Problem

Ich hab ein Samsung 2318A Display (8x24 zeichen) mit einem M50530 Kontroller.

Das Display möchte ich mit 4 Bit ansprechen, dazu habe ich:

PC0-3 an DB4-DB7 angeschlossen.
PC4 -> EN
PC5 -> OC2
PC6 -> OC1

Nun soweit so gut, mein Problem, ich hab schon massig an Datenblätter vom Kontroller studiert, aber ich krieg das Display nicht Initialisiert.

Und zwar ich vermute stark das es an meinen 4 Bit Nibbels liegt.

Meine Nibbelumsetzung sieht wie folgt aus:

Code:
void lcd_command(unsigned char temp1)
{
   unsigned char temp2 = temp1;
 
   LCD_DDR &= ~(1<<LCD_OC1) | (1 <<LCD_OC2);
 
   temp1 = temp1 >> 4;              // oberes Nibble holen
   temp1 = temp1 & 0xF0;            // maskieren
   LCD_PORT &= 0x0F;
   LCD_PORT |= temp1;               // setzen
   lcd_enable();
 
   temp2 = temp2 & 0xF0;            // unteres Nibble holen und maskieren
   LCD_PORT &= 0x0F;
   LCD_PORT |= temp2;               // setzen
   lcd_enable();
   
   _delay_us(20);
}
Also die umsetzung muss ja erfolgen, da die letzten Datenports vom LCD am Anfang meines Atmels sitzen richtig?

Oder hab ich da generell einen denkfehler drin?

Grüße
Sany.