查看: 1973|回复: 0

[MCUXpresso] FLEXRAY HEADER CRC计算方法

[复制链接]

该用户从未签到

1

主题

3

帖子

0

新手上路

Rank: 1

积分
15
最后登录
2022-11-18
发表于 2022-11-15 10:58:18 | 显示全部楼层 |阅读模式
求解这个FLEXRYA中SLOT节点的头CRC如何计算的?
这三个值在文档中是确定的
有没有计算公式参考的 ?在论坛里找到的参考公式计算不出来
unsigned int MyFlexrayCrc(unsigned int shData , unsigned char bBitCount , unsigned int vCrcSize , unsigned int vCrcReg , unsigned int vCrcPolynomial  )
{
    int iLoop = 0x00;
    unsigned int vNextBit = 0;
    unsigned int vCrcNext = 0;

    for(  iLoop = 0x00 ; iLoop < bBitCount ; ++iLoop )
    {
        vNextBit = ( ( 0x00000001 << (bBitCount - 1 - iLoop) ) & shData ) >> (bBitCount - 1 - iLoop);
        //qDebug("Corrent Bit[%04d]:%d",iLoop + 1,vNextBit);

        vCrcNext = vNextBit ^( ( ( 0x00000001 << (vCrcSize - 1) ) & vCrcReg ) >> (vCrcSize - 1)  )  ;

        // Shift the CRC register left by one bit
        vCrcReg = vCrcReg << 1 ;

        // Apply the CRC polynomial if necessary
        if( vCrcNext != 0x00 )
           vCrcReg = vCrcReg ^ vCrcPolynomial ; // end if
    } // end while loop
    return vCrcReg;
}

有没有可以解决这个问题的?


我知道答案 目前已有0人回答
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-7 22:09 , Processed in 0.087235 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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