There are only two kinds of datasheets for the DHT22, bad and worse. But, the way I am calculating the checksum in the C code fragment that I posted above (as well as MPASM code that I have written) is, I believe the correct way and is also consistent with the datasheet...
DHT22 send out higher data bit firstly! DATA=8 bit integral RH data+8 bit decimal RH data+8 bit integral T data+8 bit decimal T data+8 bit check-sumIf the data transmission is right, check-sum should be the last 8 bit of "8 bit integral RH data+8 bit decimal RHdata+8 bit integral T data+8 bit decimal T data". from https://www.sparkfun.com/datasheets/Sensors/Temperature/DHT22.pdf
" check-sum should be the last 8 bit of "8 bit integral RH data+8 bit decimal RHdata+8 bit integral T data+8 bit decimal T data" that means:
(DHTdata[0] + DHTdata[1] + DHTdata[2] + DHTdata[3]) & 255) will = DHTdata[4] IF the checksum is good.
How are you reading it?
Now, I don't know ISIS or Proteus from Shinola, but I am pretty sure that the way I am doing the checksum for these is correct - still, I could be wrong.
edited to correct typos and non-existing tags
I am reading it as simply adding the bytes togetger. But again the english is absolutely horrible not to mention how it is laid out.