합계 CRC8을 확인하는 방법이 필요합니다. 이 코드를 찾았지만, 제대로 동작하지 않습니다 :Calc 목표 CRC에 대한 CRC8
- (int)crc8Checksum:(NSString*)dataFrame{
char j;
int crc8 = 0;
int x = 0;
for (int i = 0; i < [dataFrame length]; i++){
x = [dataFrame characterAtIndex:i];
for (int k = 0; k < 8; k++){
j = 1 & (x^crc8);
crc8 = floor0(crc8/2) & 0xFF;
x = floor0(x/2) & 0xFF;
if (j != 0){
crc8 = crc8^0x8C;
}
}
}
return crc8;
}
는 제발 도와주세요!
문맥을 좀 더 제공 할 수 있습니까? 또한 오류가 있습니까? 또는 출력 결과가 예상 한 것과 다릅니다. –
Xcode는 "floor0"이 오래된 C 방법이라고 말합니다. –
이것은 crc의 다소 이상한 구현입니다 (NSString을 사용하고 잘못 작동하는 많은 방법을 소개하는 문자에서 작동합니다). 이것을 시도해보십시오 : https://github.com/cconway/RFduinoUBP/blob/master/iOS/UBP-Demo/UBP-Demo/NSData%2BCRC8.m –