stm32怎么计算8位数组crc

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32怎么计算8位数组crc相关的知识,希望对你有一定的参考价值。

参考技术A 具体的你可以参考一下stm32的固件库,我把主要用到函数给你列出来~
1、使能或者失能指定SPI的CRC传输的函数
/* Enable the CRC transfer for SPI1 */
SPI_TransmitCRC(SPI1);
2、使能或者失能指定SPI的传输字CRC值计算的函数
/* Enable the CRC calculation for the transfered bytes from SPI2 */
SPI_CalculateCRC(SPI2, ENABLE);
3、返回指定SPI的CRC值的函数
/* Returns the SPI1 transmit CRC register */
u16 CRCValue;
CRCValue = SPI_GetCRC(SPI1, SPI_CRC_Tx);
这里的CRC register可以是SPI_CRC_TX,也可以是SPI_CRC_RX
4、返回指定SPI的CRC多项式寄存器值
/* Returns the SPI2 CRC polynomial register */
u16 CRCPolyValue;
CRCPolyValue = SPI_GetCRCPolynomial(SPI2);

基本上就是这些吧,你对着数据手册再看看里程,用一下固件库里的这些函数就可以了,一般来说,你将CRC计算函数的参数设为那个数组,他自动就会得到CRC校验,然后你通过getspicrc那个函数将CRC的计算值取出来就可以了。我也没用过CRC,不过stm32其他的模块我基本都用过,就是这个套路的。如果不对不要怪我啊。。。。如果试一试结果还不错你可以把结果告诉我,正好我也学习一下。本回答被提问者采纳

某一组数据的中位数怎么计算

中位数
:是指将数据按大小顺序排列起来,形成一个数列,居于数列中间位置的那个数据。

比如
18
22
24
36
18
18
排序后是
18
18
18
22
24
36

一组数据按从小到大(或从大到小)的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数,所以本组数据的中位数是:
(18+22)÷2=
20
参考技术A 某一组数据的个数是单数,中位数就是按从小到大(或从大到小)排列后中间的那个数;如果是双数,中位数就是中间两个设的平均数

(18+22)÷2=20
参考技术B 一组数据按从小到大(或从大到小)的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数,注意:和众数不同,中位数不一定在这组数据中)。
如18
22
24
36
18
18;首先得给它们排队。从大到小或者从小到大。
18、18、18、22、24、36
最中间的为18与22。则中位数为:(18+22)÷2=20

以上是关于stm32怎么计算8位数组crc的主要内容,如果未能解决你的问题,请参考以下文章

中位数怎么求

中位数怎么算 中位数如何算

STM32中怎样读取GPIOA口的高8位或低8位数据?怎样向GPIOA的高8位或低8位1次性写8位数

请计算数据组"10,7,10,8,10,10,7,6"的均值,中位数,众数,标准差和极差

中位数到底怎么求?

STM32的位操作问题