欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

stm32f407中can波特率的设置有关问题

更新时间: 2014-01-05 03:14:09 责任编辑: Author_N1

 

stm32f407中can波特率的设置问题
对于stm32 can的时钟为fpclk = 30m,我所期望的波特率为baud = 500k。那么根据公式 1/baud= (BRP +1)(BS1+BS2+3)*fpclk,算出(BRP +1)(BS1+BS2+3) = 60。那么取BRP = 2,得到BS1+BS2 = 17。然后设置最佳采样点 令 (1+1+BS1)/(1+1+1+BS1+BS2) = 87.5%。最后得出 BRP = 2 , BS1 = 15,BS2 = 2.
设置如下:
CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;
CAN_InitStructure.CAN_BS1=CAN_BS1_16tq;
CAN_InitStructure.CAN_BS2=CAN_BS2_3tq;
CAN_InitStructure.CAN_Prescaler=3;

可是通讯不上。

前提是如果是140000的波特率肯定可以通讯上的
140 000的设置如下
CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;
CAN_InitStructure.CAN_BS1=CAN_BS1_8tq;
CAN_InitStructure.CAN_BS2=CAN_BS2_6tq;
CAN_InitStructure.CAN_Prescaler=14;

--参考方法--
恭喜楼主,贺喜楼主,接分。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:14:09
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/19860/
本文WWW.DOC100.NET DOC100.NET版权所有。