#include <stdio.h>
#include <stdint.h>
#define UINT16_T uint16_t
#define UINT8_T uint8_t
UINT16_T CalcCRC16_Value(UINT16_T wCRC, UINT8_T byVal)
{
byVal = byVal ^ ((UINT8_T) (wCRC & 0x00FFU));
byVal = byVal ^ (UINT8_T) (byVal << 4U);
wCRC = (wCRC >> 8U);
wCRC |= ((UINT16_T) byVal << 8U); //genauer gesagt: d.uint8[0] = byVal;
wCRC ^= (byVal << 3U);
wCRC ^= (UINT8_T) (byVal >> 4U);
return wCRC;
}
int main(void) {
// your code goes here
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KCiNkZWZpbmUgVUlOVDE2X1QgdWludDE2X3QKI2RlZmluZSBVSU5UOF9UIHVpbnQ4X3QKClVJTlQxNl9UIENhbGNDUkMxNl9WYWx1ZShVSU5UMTZfVCB3Q1JDLCBVSU5UOF9UIGJ5VmFsKQp7CiAgICBieVZhbCA9IGJ5VmFsIF4gKChVSU5UOF9UKSAod0NSQyAmIDB4MDBGRlUpKTsKICAgIGJ5VmFsID0gYnlWYWwgXiAoVUlOVDhfVCkgKGJ5VmFsIDw8IDRVKTsKICAgIHdDUkMgID0gKHdDUkMgPj4gOFUpOwogICAgd0NSQyB8PSAoKFVJTlQxNl9UKSBieVZhbCA8PCA4VSk7ICAvL2dlbmF1ZXIgZ2VzYWd0OiBkLnVpbnQ4WzBdID0gYnlWYWw7CiAgICB3Q1JDIF49IChieVZhbCA8PCAzVSk7CiAgICB3Q1JDIF49IChVSU5UOF9UKSAoYnlWYWwgPj4gNFUpOwoKICAgIHJldHVybiB3Q1JDOwp9CgppbnQgbWFpbih2b2lkKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKfQo=