16 bit CRC in JAVA. WOE !


New member
I'm writing a Java interface to the CFA633. The serial comms is using Sun's JavaCOMM API.

I have everything working except the 16bit CRC ....

I have a serial port monitor on to see what the 633 service is sending vs. what I am sending. I cannot get past the first packet.

The 633 monitor sends a 00 00 47 0F to the LCD. (I presume this is a Ping with zero data)

I also trying to send the same. BUT I simply cannot work out from your lookup table where you are getting the 470F from. I spotted the ~ but even if I try to ~ my value (which is using the 0xFFFF seed) I cannot see the code in the table.

I also tried the undocumented CRC16 function in Java but it also returns different values.

I tried porting the C code but I cannot get the value to come out correctly. It stays in the right range but it's not the right value.

Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
Last edited:


New member
if you still need help. i have one. as well as a pretty goog cf 633 stack i wrote in java.

of course its at home not. and im at work. post back if you still need it. eventually i'll put the whole thing on source forge.

java 6f 633 stack and mpg123 wrapper.



New member
Thanks Norm. It will be good to compare for sure.

I have put mine on sourceforge already although as yet have not released it.

So if you could send it, it would be very much appreciated as I'm still not 100% sure all is well.