int iPackageLength; char* sPackage; void CheckPackage(char* sPaket, int length) { sPackage = sPaket; iPackageLength = length; if(CheckPackageChkSum() == 1) { if(sPackage[0] == 0x10) { } if(sPackage[0] == 0x34) debug_printf(""); if(sPackage[0] == 0x12) debug_printf(""); SendUSART1(msg); SendUSART0(msg); } } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ int CheckPackageChkSum(void) { int h, sum=0, iOffset; //Addiert Werte auf bzgl. Prüfsumme for(h=iOffset;h<(iPackageLength-2);h++) { sum += sPackage[h]; } if((iPackageLength > 2) && (sPackage[iPackageLength-2] == sum)) { debug_printf("Chksum ist richtig, supa! \n"); return 1; } else { debug_printf("Naa, da stimmt wees ned, sorry! \n"); return 0; } }