genau, für chksum werden alle Array-Zellen ab [2] aufaddiert, 0 ist ja konstant und 1 ist ja die überstellte chksum, die es zu kontrollieren gilt
bei mir geht die chksum so:
Code:
uint8_t calcchecksum(uint8_t array[]) {
int32_t sum=0;
for(int i=2; i<MSGSIZE; ++i) sum+=(array[i]);
return (sum & 0x00ff);
}
arrrrgggghhhh !! wieder keine Code Tags!
bei dir wäre
#define MSGSIZE 4
auf Richtigkeit der Chksum rüfe ich per
Code:
bool checksumOK(uint8_t array[]) {
return (calcchecksum(array)==array[1]);
}
http://www.mindstormsforum.de/viewto...tart=15#p67476
Lesezeichen