Hi Richard,
Thanks for the help. I started work Friday so my time on the forum will be a lot less from now on unfortunately - but good that I have an income now after so long.
Can I ask: have you tried these changes yourself and seen the results on a Nokia 3310 lcd? I tried your suggestion per my interpretation below and it compiled/assembled without errors but the result was the same as if the changes were not made - so I'm assuming I didn't do it correctly or am still missing something.
I made the following edits after replacing data with da:
Code:
'for @ printstr
Addr VAR WORD
'Char VAR byte ' lcdchardata[0] [WJS] as it was
Char VAR word ' lcdchardata[0] [WJS] now for modification
StringOut:
' Edits for 16F devices.
Readcode Addr, Char ' Get a character
if Char = 0 then StringDone ' Look for Null char, Stop if found
packedbit = char.7 ' Store bit 7 value of low byte
char.lowbyte = char.lowbyte&127 ' Bitwise And (&) the low byte with 127
Char.highbyte = (Char.highbyte <<1) ' left shift the high byte 1 digit (multiplying by 2n)
if packedbit <> 0 then
Char.highbyte = Char.highbyte+1
endif
Gosub Lcd_GotoXY
Lcd_Data = Char
gosub Lcd_SendChar ' puttext
Addr = Addr + 1 ' Point to next character
PosX = PosX + 6
if PosX > 78 then ' If end of line, cycle to next line
PosY = PosY + 1
PosX = 0
endif
goto StringOut ' Continue with rest of the string
'' Original
' Readcode Addr, Char ' Get a character
' if Char = 0 then StringDone ' Look for Null char, Stop if found
' Gosub Lcd_GotoXY
' Lcd_Data = Char
' gosub Lcd_SendChar ' puttext
' Addr = Addr + 1 ' Point to next character
' PosX = PosX + 6
' if PosX > 78 then ' If end of line, cycle to next line
' PosY = PosY + 1
' PosX = 0
' endif
' goto StringOut ' Continue with rest of the string
StringDone:
return
Please show me where have I blundered.
Kind regards,
Bill
Bookmarks