久芯网

STM32F302 CAN通信问题!!!

avatar isbool 提问时间: 2023-08-13 18:03:43 / 未解决

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

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

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


如需获得 STM32F302 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

4个回答
  • avatar 废鱼
    回答时间: 2023-08-13 18:25:30

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

  • avatar 废鱼
    回答时间: 2023-08-13 18:56:05

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

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

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

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

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

会员中心 微信客服
客服
回到顶部