>I'm sure you ICE users have all had the problem where software works on the >emulator but doesn't work on the real thing. We have been writing HDX >serial for the 73a and got it to the stage where we thought we sould try >burning a chip. > >It's probably software related, but we can exchange the emulator and burned >chip and get very different results. The serial stuff 'sort of' works, we >are doing CRC error checking and get many more CRC errors with the PIC. > >Just in case there's a 'gotcha' which we havn't heard of, we are using RICE >16/17, CCS C compiler, 16c73a at 10 Mhz and 57600 baud. We are using the >CCS serial routines to build a HDX protocol. A PC is currently the host, >and by swapping ICE and 73a we think this is not the problem. With the >emulator we are using the external crystal (10 Mhz on target) > >Any thoughts ? > Hi Tim, More information is needed on the nature and characteristics of the CRC errors. (have you verified the CRC calculation itself is ok. on both ICE and JW. Also, If you can determine what part of the, message is getting corrupted then that may provide a clue as to the nature of the problem. Do the CCS serial routines properly check for the transmit character to be fully shifted out before switching back to Rx? Change the baud rate and see if the error rate changes, generally if the errors are noise related, you should see some change in error rate as the baud rate is changed. Low baud rates have a higher tolerance to high frequency noise. Finally, you could write a protocol analyser to hang a PC off the network to monitor the packets. Lot's of work but can be a very valuable debugging tool. Ray Gardiner (DSP Systems) ray@dsp-systems.com http://www.dsp-systems.com private email to:- ray@netspace.net.au