Board logo

标题: [求助]strongchen版主,CAN发送波特率由原来的250K改成500K后为啥发出了好多错误帧 [打印本页]

作者: yang2311    时间: 2007-11-24 20:00     标题: [求助]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时发出的数据就没有什么错误帧,恳请版主帮忙解答一下。谢谢!
作者: matthewrain    时间: 2007-11-25 13:10

这个是我的配置。不过出现错误帧和总线、硬件都有可能相关


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个数据
作者: yang2311    时间: 2007-11-25 14:11

谢谢matthewrain,请问你得晶振频率是4兆的吧,SJW对波特率有什么影响?再次感谢!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0