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

关于STM32H7 CAN 通信的问题?

[复制链接]
wangxin1993523 提问时间:2019-8-27 12:48 /
参照官方例程写的程序,回环测试都OK,但配置成正常模式无法发送数据,,卡在FIFO FULL?那,有大神遇到这种情况吗?
收藏 评论8 发布时间:2019-8-27 12:48

举报

8个回答
wu18946796976 回答时间:2019-8-27 13:22:13
看时钟是否正确  是否使用的是单片机默认的晶振  不是默认晶振是需要更改底层参数的
wangxin1993523 回答时间:2019-8-27 15:19:54
wu18946796976 发表于 2019-8-27 13:22
看时钟是否正确  是否使用的是单片机默认的晶振  不是默认晶振是需要更改底层参数的 ...

时钟啥的都没问题,,CAN发送时发出几个数据后就卡在if((hfdcan->Instance->TXFQS & FDCAN_TXFQS_TFQF) != 0)
byronsong 回答时间:2019-8-27 16:24:01
wangxin1993523 发表于 2019-8-27 15:19
时钟啥的都没问题,,CAN发送时发出几个数据后就卡在if((hfdcan->Instance->TXFQS & FDCAN_TXFQS_TFQF) ! ...

can总线必须有设备应答,才会发送成功。需要两个板子才能通。
wangxin1993523 回答时间:2019-8-27 20:03:19
songshiqun2010 发表于 2019-8-27 16:24
can总线必须有设备应答,才会发送成功。需要两个板子才能通。

接了接收的板子了,,发不出去,,但是加断点发送函数就能一直正常执行,不加断点就卡在这个地方
oujisang 回答时间:2019-8-28 15:07:17
wangxin1993523 发表于 2019-8-27 20:03
接了接收的板子了,,发不出去,,但是加断点发送函数就能一直正常执行,不加断点就卡在这个地方 ...

能调用函数不代表数据就能发送成功,你到发送函数里看看反馈的状态,是不是发送缓冲满了,你的数据还是没有发出去,最好找个CAN盒子去测试你的板子!
你若安好_清风徐来 回答时间:2019-8-29 18:57:23
STM32H7好像有两个CAN吧  你可以互传穿通信试一试,一般收不到数据大多数都是过滤器问题,
wangxin1993523 回答时间:2019-8-30 09:27:53
谢谢各位大神,解决了,是系统时钟配错了。
happy_njr 回答时间:2020-2-5 12:12:52
wangxin1993523 发表于 2019-8-30 09:27
谢谢各位大神,解决了,是系统时钟配错了。

我用的STM32G431参考的官方例程,也碰到你这种问题,回环测试没有问题,外部回环时,用CAN盒也能收到数据,但是切换到正常模式后就和上次这个情况差不多,邮箱会FULL错误,时钟是用CubeMX配置的
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版