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

STM32F302 CAN通信问题!!!

[复制链接]
isbool 提问时间:2021-12-24 16:12 / 未解决

测试了回环模式,可以正常工作,在Tx上可以看到波形。换成正常模式,DEBUG的时候可以看见等待数据发送完成的while循环跳出来了,说明数据发送成功了,但是can_Tx引脚没有波形?这是为什么啊,有大佬知道吗?

TxMailbox=CAN_Transmit(CAN1,&TXmessage);//发送,返回的是当前邮箱号

while(CAN_TransmitStatus(CAN1,TxMailbox) !=CANTXOK);//等待发送完成

收藏 评论4 发布时间:2021-12-24 16:12

举报

4个回答
废鱼 回答时间:2021-12-24 16:53:34

数据不一定是发送成功了。可以看一下发送错误计数器。正常是CAN开始发送数据的时候,需要收发器给反馈ACK。如果没有ACK的情况后面的波形是发不出来的。因此,需要在CAN总线上连接一个接收器来给CAN组成网络,CANH和CANL要加一个120欧姆的电阻,CAN是差分信号进行通讯的。自测模式下,是CAN自己处理了CAN网络,因此发送和接收都是正常的。

废鱼 回答时间:2021-12-24 16:29:45

CAN总线有没有连接转换芯片?外部是否有CAN工具接入到CAN总线接收数据。我这里没有同类型的板子帮忙测试。只能从日常使用的一些理论情况进行分析。

isbool 回答时间:2021-12-24 16:37:45

废鱼 发表于 2021-12-24 16:29
CAN总线有没有连接转换芯片?外部是否有CAN工具接入到CAN总线接收数据。我这里没有同类型的板子帮忙测 ...

[md]板子上用的SN65HVD232收发器,回环模式下CAN_Tx有输出,但是和收发器连接的总线上没有信号 我也有点怀疑收发器有问题,但是这会影响单片机的引脚电平吗 在正常模式下发送数据单片机的CAN_Tx引脚没有输出 但是程序监控里面又显示数据发出去了。。。

isbool 回答时间:2021-12-24 17:40:51

废鱼 发表于 2021-12-24 16:53
数据不一定是发送成功了。可以看一下发送错误计数器。正常是CAN开始发送数据的时候,需要收发器给反馈A ...

[md]感谢大佬 如果真是你说的那样必须要收发器正常才能发数据 那我可能找到问题了 明天试试

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版