Byron Jeff wrote: > On Wed, Mar 14, 2012 at 04:56:27PM +0000, alan.b.pearce@stfc.ac.uk wrote: > > My initial thought was that the easiest way is to calculate a 16 bit CR= C > > with the top bit of data always 0, but I guess you also need to transmi= t > > the CRC in a 15 bit word, but maybe the way to do that is have it as a > > special word. >=20 > Even if it's a 16 bit CRC, there will be some of the same types of > problems. Another thought is to split into a 7 bit table and a 8 bit one. > That will git rid of the split/combine issue at a cost of 384 words of > memory. Again just wondering if it's worth it. You don't *have* to do a table-driven implementation. Those exist for speed= , but your application doesn't need that. Just calculate the CRC one bit at a time as they come in. -- Dave Tweed --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .