我需要能够计算一个CRC以便与机器通信。我对计算CRC是相当陌生的,所以如果这个确切的问题已经得到了回答,我很抱歉,因为我不确定我在寻找什么。总之,我需要用Python计算ccit16位CRC。我的消息是一个二进制流,看起来像:
b'G18M1314D4417,2511165'
消息也以STX开头,以ETX字符结束。我尝试使用thisPython模块:
^{pr2}$它返回:
61154
当正确的CRC是:
A855
我错过了什么?在
编辑:我使用的是python3.3。我从机器发送的信息中得到了正确的CRC。我不确定是否应该包括STX/ETX字符,因为我以前从未使用过CRC。在
我相信你的机器使用的是一个名为CRC-16/MCRF4XX的参数化CRC算法。在
您可以使用^{} 模块,该模块可以与
pip
一起安装。可以使用预定义的算法crc-16-mcrf4xx计算CRC。STX和ETX应包括在CRC计算中。在相关问题 更多 >
编程相关推荐