大彩例程
-- CRC16校验函数
-- @start: 校验起始下标
-- @num: 校验字节数
-- @data: 数组
function add_crc16(start,n,data)
local carry_flag,a = 0,0
local result = 0xFFFF
local i = start
while(true)
do
result = result ~ data[i]
for j = 0, 7
do
a = result
carry_flag = a & 0x0001
result = result >> 1
if carry_flag == 1
then
result = result ~ 0xA001
end
end