私はCRC8の合計をチェックする方法が必要です。私はこのコードを見つけたが、それは働いていない :Calc Calcの目的のための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 –