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

关于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)
songshiqun2010 回答时间: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_nlg 回答时间:2020-2-5 12:12:52
wangxin1993523 发表于 2019-8-30 09:27
谢谢各位大神,解决了,是系统时钟配错了。

我用的STM32G431参考的官方例程,也碰到你这种问题,回环测试没有问题,外部回环时,用CAN盒也能收到数据,但是切换到正常模式后就和上次这个情况差不多,邮箱会FULL错误,时钟是用CubeMX配置的

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版