OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8075|回复: 8

HAL库 CRC32 够简单【但是 算出来结果与 网页示例 对不上】

[复制链接]

84

主题

558

帖子

0

精华

高级会员

Rank: 4

积分
801
金钱
801
注册时间
2014-9-30
在线时间
136 小时
发表于 2021-5-25 18:21:00 | 显示全部楼层 |阅读模式
1金钱
HAL库 CRC32 够简单的了,CubeMX 配置 CRC 打钩钩—— Main 函数中 引用 就行啦 ——
【但是 算出来结果与 网页示例 对不上】怎么回事 啊?



CRCValue = HAL_CRC_Calculate(&hcrc,(uint32_t *)dataBuffer,114);


//数据长度 114个(32位数据) 我的结果是 E515927A——怎么会与网页示例 对不上呢?


uint32_t uwExpectedCRCValue = 0x379E9F06;        // 它的“标准答案”。


。网页原文 https://blog.csdn.net/qq_36347513/article/details/115132457?utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~default-7.baidujs&dist_request_id=1331978.179.16185696571123085&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~default-7.baidujs
。网页原文好长 啊。。
#define BUFFER_SIZE    114
static const uint32_t dataBuffer[BUFFER_SIZE] =
{
    0x00001021, 0x20423063, 0x408450a5, 0x60c670e7, 0x9129a14a, 0xb16bc18c,
    0xd1ade1ce, 0xf1ef1231, 0x32732252, 0x52b54294, 0x72f762d6, 0x93398318,
    0xa35ad3bd, 0xc39cf3ff, 0xe3de2462, 0x34430420, 0x64e674c7, 0x44a45485,
    0xa56ab54b, 0x85289509, 0xf5cfc5ac, 0xd58d3653, 0x26721611, 0x063076d7,
    0x569546b4, 0xb75ba77a, 0x97198738, 0xf7dfe7fe, 0xc7bc48c4, 0x58e56886,
    0x78a70840, 0x18612802, 0xc9ccd9ed, 0xe98ef9af, 0x89489969, 0xa90ab92b,
    0x4ad47ab7, 0x6a961a71, 0x0a503a33, 0x2a12dbfd, 0xfbbfeb9e, 0x9b798b58,
    0xbb3bab1a, 0x6ca67c87, 0x5cc52c22, 0x3c030c60, 0x1c41edae, 0xfd8fcdec,
    0xad2abd0b, 0x8d689d49, 0x7e976eb6, 0x5ed54ef4, 0x2e321e51, 0x0e70ff9f,
    0xefbedfdd, 0xcffcbf1b, 0x9f598f78, 0x918881a9, 0xb1caa1eb, 0xd10cc12d,
    0xe16f1080, 0x00a130c2, 0x20e35004, 0x40257046, 0x83b99398, 0xa3fbb3da,
    0xc33dd31c, 0xe37ff35e, 0x129022f3, 0x32d24235, 0x52146277, 0x7256b5ea,
    0x95a88589, 0xf56ee54f, 0xd52cc50d, 0x34e224c3, 0x04817466, 0x64475424,
    0x4405a7db, 0xb7fa8799, 0xe75ff77e, 0xc71dd73c, 0x26d336f2, 0x069116b0,
    0x76764615, 0x5634d94c, 0xc96df90e, 0xe92f99c8, 0xb98aa9ab, 0x58444865,
    0x78066827, 0x18c008e1, 0x28a3cb7d, 0xdb5ceb3f, 0xfb1e8bf9, 0x9bd8abbb,
    0x4a755a54, 0x6a377a16, 0x0af11ad0, 0x2ab33a92, 0xed0fdd6c, 0xcd4dbdaa,
    0xad8b9de8, 0x8dc97c26, 0x5c644c45, 0x3ca22c83, 0x1ce00cc1, 0xef1fff3e,
    0xdf7caf9b, 0xbfba8fd9, 0x9ff86e17, 0x7e364e55, 0x2e933eb2, 0x0ed11ef0
};


CRCValue = HAL_CRC_Calculate(&hcrc,(uint32_t *)dataBuffer,114);
就这么 一条 语句 啊 , 怎么会 对不上 答案 呢 ??


就这么 114 个 32位数  啊 。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

84

主题

558

帖子

0

精华

高级会员

Rank: 4

积分
801
金钱
801
注册时间
2014-9-30
在线时间
136 小时
 楼主| 发表于 2021-5-25 18:46:39 | 显示全部楼层
本帖最后由 caosix 于 2021-5-25 19:00 编辑

邪门 了 , 我刚才 换了 单片机 F103 C8T6

算出来 就 和 网页 示例 一致了 :输出 0x379E9F06 .

晚饭后 我 再来 彻底 从头新建一个 L011 的工程试试。


  算个 CRC 不会 要求 我 关闭 中断 ,关闭 DMA 吧 !!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2021-5-26 01:52:45 | 显示全部楼层
caosix 发表于 2021-5-25 18:46
邪门 了 , 我刚才 换了 单片机 F103 C8T6

算出来 就 和 网页 示例 一致了 :输出 0x379E9F06 :lovelin ...

搞定了么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2021-5-26 08:17:07 | 显示全部楼层
是不是算法模型不一样啊
学无止境
回复

使用道具 举报

84

主题

558

帖子

0

精华

高级会员

Rank: 4

积分
801
金钱
801
注册时间
2014-9-30
在线时间
136 小时
 楼主| 发表于 2021-5-26 17:54:40 | 显示全部楼层

回 原子老大 :昨天 太疲倦 今天才 【完全新建 L011 工程】
——这是 完全新建工程的计算结果 —— 0xE515927A ——
——还好与之前 L011 开中断 开 DMA 的结果是一致的 ——
——————————————————————————————
那么 现在 问题就 显露出来了 :
同样的 CubeMX 软件,同样的 IAR 7.62 编译环境
使用 STM32F103C8T6 可以算出 与 网页示例 相同的 答案。


换成 STM32L011D4P6 居然算出 不一样的 CRC32 ???
【难道说 L011D4P6 】还需要 配置(赋值)计算初始条件?
5656.jpg
【好在 全新L011工程 的 计算结果 与 开中断 开DMA 的既有工程 结果一致  】
回复

使用道具 举报

84

主题

558

帖子

0

精华

高级会员

Rank: 4

积分
801
金钱
801
注册时间
2014-9-30
在线时间
136 小时
 楼主| 发表于 2021-5-26 17:57:44 | 显示全部楼层
jermy_z 发表于 2021-5-26 08:17
是不是算法模型不一样啊

这个 问题 也劳驾 兄弟 去 ST 官方 问问 吧 !

CPU 芯片 不一样 ,这 CRC32 计算结果 居然 不一样,

这 —— 不合情理 —— 不合情理 ——啊 。。。
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2021-5-27 08:15:37 | 显示全部楼层
caosix 发表于 2021-5-26 17:57
这个 问题 也劳驾 兄弟 去 ST 官方 问问 吧 !

CPU 芯片 不一样 ,这 CRC32 计算结果 居然 不一样,
...

暂时用不到

用到了估计也是直接用软件去算
学无止境
回复

使用道具 举报

84

主题

558

帖子

0

精华

高级会员

Rank: 4

积分
801
金钱
801
注册时间
2014-9-30
在线时间
136 小时
 楼主| 发表于 2021-6-3 17:37:40 | 显示全部楼层

请问:原子老大:你们官方 就这个问题
—— 电话询问过 ST 公司 吗??——
CRC32 算出结果 不一致,原因具体在哪儿?啊
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2021-6-4 00:58:29 | 显示全部楼层
caosix 发表于 2021-6-3 17:37
请问:原子老大:你们官方 就这个问题
—— 电话询问过 ST 公司 吗??——
CRC32 算出结果 不一致 ...

没哦,我们一般CRC都用软件的。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-22 22:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表