我正在使用Perl脚本将值从USB发送到Arduino。该脚本的一部分是对协议中值的校验和错误检查。
我现在想将数据从一个Arduino发送到另一个,所以我需要用C ++编写等效的行。
$checksum = ((($val1 + $val2 + $val3 + $val4 + $val5)^255 )+1) & 255;
它是1到5模256的总和的2的补码。
我怎么能用C ++为Arduino写这个?
答案 0 :(得分:6)
摆脱美元:
checksum = (((val1 + val2 + val3 + val4 + val5)^255 )+1) & 255;
答案 1 :(得分:5)
在C ++中几乎是一样的:
checksum = (((val1 + val2 + val3 + val4 + val5) ^ 255) + 1) & 255;
虽然您可以更简单地表达为:
checksum = -(val1 + val2 + val3 + val4 + val5) & 255;