在php开发modbus 的时候,部分产品是使用 add16 累加算法 计算校验和的。
查询半天也没找到合适的 add16 php算法,最后终于在 csdn 找到了 loveyoulouyou的作品:
function add16($data){
// https://blog.csdn.net/loveyoulouyou/article/details/120314021
// function getcheckcode($data){
if($data){
$arr = array();
$arr = str_split($data, 2);
$result = 0;
for ($i=0; $i < count($arr); $i++) {
$result =$result + hexdec($arr[$i]);
}
$result = strtoupper('0'.dechex($result)); //转换成大写
return $result;
}
}
需要和我沟通? 点这里,留言!
« USB\VID_05AC&PID_1402&REV_0001 Apple USB Ethernet Adapter windows10 驱动解决方法 » sublime_Text 中 插入当前时间日期 作者信息 支持sublimetext4