久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2608|回復: 5
打印 上一主題 下一主題
收起左側

關于C語言CRC校驗程序的問題

[復制鏈接]
跳轉到指定樓層
樓主
怎么使用hal accumulate函數完成crc分塊校驗與整體校驗crc值相等

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:277550 發表于 2022-6-12 11:36 | 只看該作者
校驗相同的內容
回復

使用道具 舉報

板凳
ID:390416 發表于 2022-6-12 11:38 | 只看該作者
//*******************************************************************
//函數名:         CRC8,最開始需要把DMX_CRC_Data清0
//作用:         生成DMX數據校驗碼
//多項式:        CRC8(X8+X5+X4+1),正序是0x31(1 00110001),反序是0x8C(10001100 1)
//*******************************************************************
void CRC8(u8 chChar)
{
        u8 i;
        DMX_CRC_Data = DMX_CRC_Data^chChar;                        //新傳輸的值異或
        for (i=0;i<8;i++)                                                        //8 bit
        {
                if (DMX_CRC_Data&0x01)                                         //反序異或,判斷最低位是否為1
                {
                        DMX_CRC_Data=(DMX_CRC_Data>>1)^0x8C;//右移再異或
                }
                else
                {
                        DMX_CRC_Data>>=1;                                        //位為0直接 往右移位
                }
        }
}
回復

使用道具 舉報

地板
ID:952017 發表于 2022-6-12 17:01 | 只看該作者
devcang 發表于 2022-6-12 11:36
校驗相同的內容

內容是相同的
每次指針偏移64個字節
回復

使用道具 舉報

5#
ID:952017 發表于 2022-6-12 17:02 | 只看該作者
人人學會單片機 發表于 2022-6-12 11:38
//*******************************************************************
//函數名:         CRC8,最開始需要把 ...

我是32位的crc校驗,然后利用了庫函數,每次指針偏移64個字節
回復

使用道具 舉報

6#
ID:1034715 發表于 2022-6-14 20:26 | 只看該作者
hal accumulate 只是計算前不會重置DR寄存器而已

  1. 比如 uint8 test_data[256] = {0};
  2. 要么  整體校驗
  3. HAL_CRC_Calculate(hcrc1, test_data, 256);
  4. 要么 分段校驗 不過第一次使用需要用 HAL_CRC_Calculate 或者 __HAL_CRC_DR_RESET 清空DR寄存器
  5. // __HAL_CRC_DR_RESET 顯式清空DR
  6. __HAL_CRC_DR_RESET(hcrc1); //使用 HAL_CRC_Accumulate 前最好手動清空DR寄存器
  7. for (uint8 i=0; i<4; ++i) {
  8.     HAL_CRC_Accumulate(hcrc1, tet_data + 64 * i, 64);
  9. }
  10. // HAL_CRC_Calculate 隱式清空DR
  11. for (uint8 i=0; i<4; ++i) {
  12.     if (i == 0) {
  13.         HAL_CRC_Calculate(hcrc1, test_data + 64 * i, 64);
  14.     } else {
  15.         HAL_CRC_Accumulate(hcrc1, tet_data + 64 * i, 64);
  16.     }
  17. }
復制代碼

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久四虎| 国产高清精品一区二区三区 | 国产99视频精品免视看9 | 91精品国产一区 | 欧美日韩综合一区 | 成人在线免费观看视频 | 超碰最新在线 | 青青草视频网 | 久久久久久九九九九 | 国产区在线 | 国产一二三区免费视频 | 免费污视频 | 国产精品久久久久久久久久 | 国产精品久久久久久久久久99 | 欧美激情一区二区 | 国产精品久久久久av | 精品久久久久久久 | 精品国产乱码久久久久久88av | 日本成人福利视频 | 超碰电影 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 久久久一区二区三区 | 国产美女在线观看 | 久草新视频 | 日本在线综合 | 91免费视频| 中午字幕在线观看 | 欧美a在线 | 国产黑丝av | 黄色一级免费看 | 日韩在线看片 | av免费在线播放 | 欧美激情视频一区二区三区在线播放 | 日韩av一区二区在线观看 | 日本一区二区三区视频在线 | 亚洲第一区国产精品 | 国产精品免费一区二区三区四区 | 欧美精品一区二区三区四区五区 | 日韩a在线观看 | 国产一区91精品张津瑜 | 免费看大片bbbb欧美 |