Air202模块支不支持CRC16的计算吗

请先 登录 后评论

1 个回答

技术销售Delectate
擅长:IT

luat进行开发,支持crc16的,请参考crypto demo:

--- crc算法测试
-- @return 无
-- @usage crcTest()
local function crcTest()
    local originStr = "sdfdsfdsfdsffdsfdsfsdfs1234"
    
    if tonumber(string.match(rtos.get_version(),"Luat_V(%d+)_"))>=21 then
        --crypto.crc16()第一个参数是校验方法,必须为以下几个;第二个参数为计算校验的字符串
        log.info("testCrypto.crc16_MODBUS",string.format("%04X",crypto.crc16("MODBUS",originStr)))
        log.info("testCrypto.crc16_IBM",string.format("%04X",crypto.crc16("IBM",originStr)))
        log.info("testCrypto.crc16_X25",string.format("%04X",crypto.crc16("X25",originStr)))
        log.info("testCrypto.crc16_MAXIM",string.format("%04X",crypto.crc16("MAXIM",originStr)))
        log.info("testCrypto.crc16_USB",string.format("%04X",crypto.crc16("USB",originStr)))
        log.info("testCrypto.crc16_CCITT",string.format("%04X",crypto.crc16("CCITT",originStr)))
        log.info("testCrypto.crc16_CCITT-FALSE",string.format("%04X",crypto.crc16("CCITT-FALSE",originStr)))
        log.info("testCrypto.crc16_XMODEM",string.format("%04X",crypto.crc16("XMODEM",originStr)))
        log.info("testCrypto.crc16_DNP",string.format("%04X",crypto.crc16("DNP",originStr)))
    end
    
    log.info("testCrypto.crc16_modbus",string.format("%04X",crypto.crc16_modbus(originStr,slen(originStr))))
    log.info("testCrypto.crc32",string.format("%08X",crypto.crc32(originStr,slen(originStr))))
end


请先 登录 后评论