请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C1290NCPDT 您好!
我必须实现 crc16-CCITT、如 http://srecord.sourceforge.net/crc16-ccitt.html#results 中所述
这表示对于文本字符串"1234546789"、我应该得到"0xEC55"、这也是我的规范的预期值。
尽管网页中的代码起作用、但我认为最好使用 driverlib 中的 CRC。
这里是我的代码
uint32_t URES=0; char ZTEST []="123456789"; MAP_CRCConfigSet (CCM0_BASE、 CRC_CFG_INIT_SEED | CRC_CFG_TYPE_P1021 | CRC_CFG_SIZE _8位); CRCSeedSet (CCM0_BASE、0xFFFF); URES = CRCDataProcess (CCM0_BASE、ZTEST、9、false);
因此、我得到0x29B1、 这被称为链路中的"错误 CRC 计算"、它说"在实施"bad_crc"的问题中、它不会像计算标准 CRC 时所要求的那样(隐式或显式)增加16位的零长度消息。 因此、它报告 一个长度为零的消息的 CRC 为0xFFFF -而不是0x1D0F "
欢迎您提出任何关于如何适应以获得预期结果的想法。
此致
Micky