Re: How to calculate the checksum?
- From: "Peter Ibbotson" <spambox@xxxxxxxxxxxxxx>
- Date: Sun, 18 Nov 2007 23:49:02 -0000
"Christian Havel" <ChristianHavel@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:6713ABF0-C84F-40BE-A065-E6E14D1EF503@xxxxxxxxxxxxxxxx
Hi Arne,
thanks for your help. I have the following informations:
<Sync_1 = 0x81> 8 DATA-BITS No Parity
<Sync_2 = 0x82> 8 DATA-BITS No Parity
<Cksum> = Telegramm<[pos_Sync_1]> XOR . XOR . XOR ... [<pos_Sync_2-2>]
<Cmd> = Command to modem
|<--- CheckSum : --------------- XOR ------------------->|
<Sync_1>, <DEV_ADR>, <Cmd>, <OPTION>, [<DATA>], <Chksum>, <Sync_2>
It depends on what sort of CRC it is.
For most serial protocols it is based on the table driven one in x/y/zmodem source code. However that isn't the correct CRC value for an ethernet packet OR an SDLC/HDLC comms protocol.
You could use
http://sourceforge.net/projects/classlesshasher/?format=raw
which contains more CRC variants than I've encountered in the wild but most comms protocols tend to use the one contained in FCS16.
I suspect from your code that actually you just want to XOR all the bytes in the data together.
Without a sample data packet (or sample source code) it's nearly impossible to tell if you've got it right. When I first did the ethernet one I ended up hand decoding a packet on an oscilloscope screen to see exactly what was transmitted!
Peter
.
- References:
- Re: How to calculate the checksum?
- From: Arne Vajhøj
- Re: How to calculate the checksum?
- Prev by Date: TimeSpan.TotalDays versus DateTime.ToOADate difference
- Next by Date: Re: Sending email
- Previous by thread: Re: How to calculate the checksum?
- Next by thread: Re: How to calculate the checksum?
- Index(es):
Relevant Pages
|