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