system
July 11, 2010, 9:53pm
1
I am attempting to use a CrystalFontz CFA-633 display with an Arduino Mega.
I am attempting to send the text to the display via a serial connection. based on the product manual the data should be sent in the following format:
using the 633WinTest app that crystalfontz provides i have created the following sample packet
aC=7( 7 = LCD Line 1),L=16,D="Hello ",CRC=0x4C4B
this snip from the WinTest app tells that the packet type is 7, the size is 16, and the CRC is 0x4C4B
using this i have created the following code without luck
Serial1.write(7);
Serial1.write(16);
Serial1.write("Hello ");
Serial1.write(0x4C);
Serial1.write(0x4B);
any suggestions on what i am doing wrong would be greatly appreciated. If you need more info about the display, the communication protocol stuff starts on page 18 of the PDF.
Thank you in advance.
system
July 11, 2010, 9:53pm
2
CFA-633 manual:
http://www.crystalfontz.com/products/datasheet/169/CFA_633_k1.9b.pdf
(sorry, couldnt post link in the first message, antispam measures i suppose.)
system
July 13, 2010, 10:46pm
3
Any more info i can provide that would be usefull to assisting with my issue?
When you use:-
Serial1.write(16);
You are actually going to send two bytes, in hex these bytes are
0x31 & 0x36.
Do you actually need to send the number 16 rather than it's ASCII representation. If so use:-
Serial1.write(char(16));
system
July 15, 2010, 11:56pm
5
Thanks, i tried the char(16) and didnt have any luck
Here is some code that has worked for me in the past when i used this LCD with a parallax basic stamp. It works on the basic stamp, I just dont know why i am having such difficulty translating this code for the mega
SEROUT 0,BAUD,[7,16,"Hello ",$4B,$4C]
This is the current code i am using:
Serial1.begin(19200);
Serial1.write(7);
Serial1.write(char(16));
Serial1.write("Hello ");
Serial1.write(0x4B);
Serial1.write(0x4C);
Thank you once again
system
July 16, 2010, 1:58pm
6
Ok, after doing a bit more research i think i am starting to solve my own problem. I would like to get some feedback on this idea.
This display is designed for a PC serial connection. The reason that i was able to get it working with the basic stamp is that it has a software serial "port" and i was able to trick it into doing inverted logic. The Arduino is using a hardware serial port and is unable to do inverted logic. For this display to work i would need something like this:
http://compare.ebay.com/like/300420573737?ltyp=AllFixedPriceItemTypes&rvr_id=&crlp=1_263602_263632&UA=%3F*I7&GUID=af88351f1250a02653717ae1fe5b1e66&itemid=300420573737&ff4=263602_263632
Am i correct in this reasoning?
Thanks
Adam