nja zo te merken hebben jullie de laatste tijd niet echt stil gezeten met de grafische lcdtjes... ik ben pas geleden ook weer begonnen met een nieuw projectje. een t6963c aan een philips p87lpc768 te hangen. met succes ook nog
lcd werkt vrijwel goed, init gaat goed, clear gaat goed, tekst schrijven gaat alleen nog niet 100% daarom dit topic.
nja als eerst maar eens wat pics van mn opstelling:

complete opstelling met het lcd, emulator en het evaluatie bordje

de emulator (met dank aan philips !)

het evaluatie bordje (ook dank aan philips)

tekst schrijven werkt... half
nja mijn probleem dan nu
als ik tekst wil gana schrijven met het lcd, vanuit een normale char string gaat dit dus fout, ik krijg als eerste char een "Ç", het maakt niks uit wat ik ernaar stuur en ook niet waar. maar als ik een constante erheen stuur dan werkt het wel normaal.
nja ff stukje source:
lcd_print(const, 0x00, 0x00); gaat goed
lcd_print("blaat", 0x00, 0x00); krijg ik "Çlaat"
nja als eerst maar eens wat pics van mn opstelling:

complete opstelling met het lcd, emulator en het evaluatie bordje

de emulator (met dank aan philips !)

het evaluatie bordje (ook dank aan philips)

tekst schrijven werkt... half
nja mijn probleem dan nu
als ik tekst wil gana schrijven met het lcd, vanuit een normale char string gaat dit dus fout, ik krijg als eerste char een "Ç", het maakt niks uit wat ik ernaar stuur en ook niet waar. maar als ik een constante erheen stuur dan werkt het wel normaal.
nja ff stukje source:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| void lcd_print(char *msg_string, UCHAR x, UCHAR y)
{
UCHAR i;
UCHAR c;
UCHAR address;
address = (y * 40) + x;
lcd_send_data(address%256); //put RAM adress
lcd_send_data(address>>8);
lcd_send_cmd(0x24);
lcd_send_cmd(0xB0); // Auto Write Mode enabled
for (i=0; i < strlen(msg_string); i++) // writes every char to the LCD
{
c = msg_string[i] - 0x20; // ANSII - 0x20 = LCD chars
if (c < 0) c = 0; // dont send negative chars to the LCD
lcd_send_data(c); // send char to LCD
//lcd_send_cmd(0xC0); //dit werkt ook, haal dan de auto write weg, auto write is wel sneller
}
lcd_send_cmd(0xB2); // Auto Write Mode disabled
} |
lcd_print(const, 0x00, 0x00); gaat goed
lcd_print("blaat", 0x00, 0x00); krijg ik "Çlaat"