Great!
I'm glad it you got it working.
And that's also great you saw my Youth. That means it's still around somewhere.
Maybe I should offer a reward?
...
Type: Posts; User: Darrel Taylor; Keyword(s):
Great!
I'm glad it you got it working.
And that's also great you saw my Youth. That means it's still around somewhere.
Maybe I should offer a reward?
...
The highest bit of a polynomial is assumed to be 1, and is not included in the value used in the formula.
It's presence in the polynomial indicates the length of the final CRC result.
With x^8 +...
Confirmation denied!
The 8-bit polynomial for x^8 + x^5 + x^4 + 1 would be $31.
And the routine for 8-bit CRC's is different.
CRC VAR BYTE
CRC_IDX VAR BYTE
CRC_IN VAR BYTE
Too much ... nope.
Too little ... maybe. :)
Cyclic Redundancy Check
http://en.wikipedia.org/wiki/Cyclic_redundancy_check
<br>
Oh shoot, and I just went back and looked at how I timed my CRC routines, and the ~825uS was for a 9-byte array with the chars "123456789".
That would have sounded so much better in my first post....
In the context of that program ...
IF CRC.0(CRC_Len-1) THEN
compiles to the exact same thing as ...
IF CRC.15 THEN
And at the assembly level, it's 2 instructions ...
Oh, and I forgot about this ...
This was my first version.
It was for CRC-16, but I later found that there are many versions of CRC-16.
Even if they have the same "Polynomial".
Might give you...
Is that 2 mS per byte?
Just timed my CRC routines at 4Mhz and it's ~825uS per byte for 16-bit Algorithm's, and ~710uS for 8-bit ones. Of course they all vary a little depending on the polynomial,...