我正试图编写一些Python代码来测试我在微控制器中的硬件CRC模块。Python代码将计算一个随机数据块的CRC值,并将其与微控制器返回的相同随机数据块的CRC值进行比较。
问题1:这应该可以让您开始创建随机块:
def randblock(nbytes):
x = random.randrange(256 ** nbytes)
return binascii.unhexlify('%0*x' % (nbytes*2, x))
问题2: zlib.crc32 函数可以使用任何值作为种子 -- 只需将该值作为第二个参数传递即可。默认的种子是零。
问题3: 是的,将数据传递给 crc32() 将生成一个合理的 CRC 值。