Smile 笑容

php add16算法 累加算法 累加校验算法(modbus 串口 sscom 开发)

在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;
	}
}