MelMan
18.11.2009, 19:24
Hallo zusammen,
Bin grad dabei mich von Bascom zu entfernen und endlich mal in C zu programmieren. Die ersten Versuche und Grundsachen klappen auch schon ganz gut :). Jetzt geht es aber dran ein 128x64 Display mit einem KS108 Contoller anzusteuern. Hardware ist schon komplett fertig aber an der Software haperts noch ein wenig. Unter Bascom war das ja alles einfach.
Nun zu C: Soweit ich das verstanden hab hab ich ja mein "main.c" von wo aus ich meinetwegen meine Displayausgabe ansteuer; also ks0108Puts ("Test"), wobei der Befehl ks0108Puts je nach ks108.c abhängig ist oder? In meiner ks108.h sind meine ganzen Ports definiert die ich zum Ansteuern des Display verwende, s. hier
// Ports
#define LCD_CMD_PORT PORTB // Command Output Register
#define LCD_CMD_DIR DDRB // Data Direction Register for Command Port
#define LCD_DATA_IN PIND // Data Input Register
#define LCD_DATA_OUT PORTD // Data Output Register
#define LCD_DATA_DIR DDRD // Data Direction Register for Data Port
// Command Port Bits
#define D_I 0x05 // D/I Bit Number
#define R_W 0x04 // R/W Bit Number
#define EN 0x00 // EN Bit Number
#define CSEL1 0x07 // CS1 Bit Number
#define CSEL2 0x06 // CS2 Bit Number
Was ich noch nicht ganz blicke ist welcher Port jetzt für die Daten und welcher für die Steuerung zuständig ist. Ich hab jetzt PORTB für die Steuerung genommen und PORTD für die Daten. Was ich aber noch vermisse ein #define RESET o.ä. für die Reset-Leitung oder braucht man das nicht zwingend? Ich hoffe meine Fragen sind nicht allzu unverständlich und ihr könnt mir ein wenig weiterhelfen 8-[ .
Bin grad dabei mich von Bascom zu entfernen und endlich mal in C zu programmieren. Die ersten Versuche und Grundsachen klappen auch schon ganz gut :). Jetzt geht es aber dran ein 128x64 Display mit einem KS108 Contoller anzusteuern. Hardware ist schon komplett fertig aber an der Software haperts noch ein wenig. Unter Bascom war das ja alles einfach.
Nun zu C: Soweit ich das verstanden hab hab ich ja mein "main.c" von wo aus ich meinetwegen meine Displayausgabe ansteuer; also ks0108Puts ("Test"), wobei der Befehl ks0108Puts je nach ks108.c abhängig ist oder? In meiner ks108.h sind meine ganzen Ports definiert die ich zum Ansteuern des Display verwende, s. hier
// Ports
#define LCD_CMD_PORT PORTB // Command Output Register
#define LCD_CMD_DIR DDRB // Data Direction Register for Command Port
#define LCD_DATA_IN PIND // Data Input Register
#define LCD_DATA_OUT PORTD // Data Output Register
#define LCD_DATA_DIR DDRD // Data Direction Register for Data Port
// Command Port Bits
#define D_I 0x05 // D/I Bit Number
#define R_W 0x04 // R/W Bit Number
#define EN 0x00 // EN Bit Number
#define CSEL1 0x07 // CS1 Bit Number
#define CSEL2 0x06 // CS2 Bit Number
Was ich noch nicht ganz blicke ist welcher Port jetzt für die Daten und welcher für die Steuerung zuständig ist. Ich hab jetzt PORTB für die Steuerung genommen und PORTD für die Daten. Was ich aber noch vermisse ein #define RESET o.ä. für die Reset-Leitung oder braucht man das nicht zwingend? Ich hoffe meine Fragen sind nicht allzu unverständlich und ihr könnt mir ein wenig weiterhelfen 8-[ .