1x16 Display: only first 8 characters
Status: Beta
Brought to you by:
mrzed
I have a 1x16 display with a hd44780 and it only displays
the first 8 characters of the first row.
If I give output to a second row, it shows the first 8
characters of this second row at the last 8 characters
of the first row.
Can anyone please help me with this? I don't feel like
going through the entire code.
Any solutions can be mailed to:
ronny_franken@hotmail.com
Thanks in advance!
Logged In: YES
user_id=57785
The code that handles display positions is in
LcdHD44780.cpp, method:
void CLcdHD44780::SetPosition(short x, short y)
and there's special handling of 16x1 LCDs:
if (g_44780Cfg.iRows == 1)
DDaddr += (x % 8) * (0x40 - 8);
that's where I would start...
Looks like your LCD has a differnt memory mapping.
good luck
Logged In: NO
Most older 16X1 are internally mapped as 8X2 second 8 chars
at pos 192