在线时间1 小时
UID3884156
注册时间2022-11-8
NXP金币0
该用户从未签到
新手上路

- 积分
- 15
- 最后登录
- 2022-11-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;
}
有没有可以解决这个问题的?
|
|