请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于STM32G4的外部晶振设置can通信波特率

[复制链接]
zhoutuo 提问时间:2020-9-16 11:02 /
目前使用G4配置CAN,波特率500k,在选择内部晶振为外设时钟时,可以通过计算配置500k正常通信,但是使用外部24M晶振时,只有把APB1设置为16M时可以正常通信,一旦采用其他频率时,波特率均不正常无法通信。然后目前项目要求外设时钟必须要160M因此现在解决不了了,请问有人知道是什么原因吗,或者有什么其他解决方法
收藏 评论5 发布时间:2020-9-16 11:02

举报

5个回答
废鱼 回答时间:2020-9-16 12:44:44
CAN波特率是通过总线时钟频率,楼主看一下对应的芯片使用的是哪个频率,一般是系统时钟的1/2。然后再重新算波特率需要配置的几个参数。
小歆-2051663 回答时间:2020-9-17 16:49:25
STM32_CAN_Clock.jpg

CAN波特率=APB总线频率/BRP分频器/(1+tBS1+tBS2)

根据你的总线频率重新配一下
zhoutuo 回答时间:2020-9-18 14:22:25
已经是按照总线频率计算配置了
11.png
快乐的向日葵 回答时间:2020-9-20 22:39:03
zhoutuo 发表于 2020-9-18 14:22
已经是按照总线频率计算配置了

问题找到了吗?APB1的频率是多少?time quantum显示是多少(按照你的配置,显示应该是62.5ns)?
butterflyspring 回答时间:2020-9-27 17:28:25
一般来说,可以用外部的还回模式测试一下,既可以测试发送的波特率,也可以测试是否能正常接收。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版