[求助]strongchen版主,CAN发送波特率由原来的250K改成500K后为啥发出了好多错误帧
- UID
- 344047
- 性别
- 男
|
[求助]strongchen版主,CAN发送波特率由原来的250K改成500K后为啥发出了好多错误帧
这是我的CAN设置,原来为250K
CAN0CTL1 = 0x87;
CAN0BTR0 = 0x43; // CAN0BTR0=0x43;set SJW=2, Prescaler value=4
CAN0BTR1 = 0xF6; // CAN0BTR1=0xF6;set TSEG2=8,TSEG1=7,Bit Rate=250k
CAN0IDAC = 0x00; //
改为CAN0BTR0 = 0x41rescaler value=2了,波特率就变为500了,但为啥用CANOE看就发出了好多错误帧,而原来250K时发出的数据就没有什么错误帧,恳请版主帮忙解答一下。谢谢! |
|
|
|
|
|
- UID
- 148265
- 性别
- 男
|
这个是我的配置。不过出现错误帧和总线、硬件都有可能相关
CAN0CTL0_INITRQ=1; //初始化模式
CAN0CTL1_CANE=1;
while(CAN0CTL1_INITAK!=1);
CAN0CTL1_CLKSRC=0; //选择晶振频率
CAN0CTL1_LOOPB=0; //开启环路检测
CAN0CTL1_LISTEN=0;
CAN0BTR0_SJW=0; //1个Tq
CAN0BTR0_BRP=0;
CAN0BTR1_SAMP=0; //每位采样一次
CAN0BTR1_TSEG_20=2; //Tseg2=3Tq
CAN0BTR1_TSEG_10=3; //Tseg1=4Tq,波特率为500k/s,每ms可以发送32个数据 |
|
|
|
|
|
- UID
- 344047
- 性别
- 男
|
谢谢matthewrain,请问你得晶振频率是4兆的吧,SJW对波特率有什么影响?再次感谢! |
|
|
|
|
|