最近发现CubeMX CRC 模块config 部分没有了,也就是用户只能使能CRC模块而不能对其做设置吗。尝试着生成工程看来一下发现默认的是CRC32,输入数据 输出数据都是32位的。那么我希望使用crc16 怎么办呢,多项式和起始值又是在哪里设置.我在HAL库文件里也没找到这部分的内容。有没有熟悉的朋友帮忙指点下,该怎么用啊。谢谢啦! |
这些是可以调整的。比方: hcrc.Instance = CRC; hcrc.Init.DefaultPolynomialUse = DEFAULT_POLYNOMIAL_DISABLE; hcrc.Init.DefaultInitValueUse = DEFAULT_INIT_VALUE_DISABLE; hcrc.Init.GeneratingPolynomial = 7; hcrc.Init.CRCLength = CRC_POLYLENGTH_16B; hcrc.Init.InitValue = 0x06458458; hcrc.Init.InputDataInversionMode = CRC_INPUTDATA_INVERSION_NONE; hcrc.Init.OutputDataInversionMode = CRC_OUTPUTDATA_INVERSION_DISABLE; hcrc.InputDataFormat = CRC_INPUTDATA_FORMAT_HALFWORDS; if (HAL_CRC_Init(&hcrc) != HAL_OK) { Error_Handler(); }
这些是可以调整的。比方: hcrc.Instance = CRC;
谢谢您的解答