打印

CAN发送错误

[复制链接]
4106|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flyleaf91|  楼主 | 2011-11-16 20:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 flyleaf91 于 2011-11-16 20:50 编辑

1.用STM32的CAN回环模式测试,检测到接收邮箱接收到的数据正确,但我用示波器检测Tx引脚时,却只看到一个复位信号,请问在回环模式下Tx引脚的信号可不可以用示波器检测呢?我看说明文档是说可以的,但却检测不到。
  2.在正常模式下,我的CAN网络中有两个节点,两个节点都接入后,用示波器检测主机和从机的TX,RX都没有信号。若把从机的节点断开,只有主机的话,用示波器检测主机的TX引脚可以看到明显的信号,不知道我的配置在哪里出问题了。。
    逛了好久论坛,一般的CAN问题都是没开时钟或者没配置引脚的速度,但我检查这两个地方都已经配置好了。
    Jlink调试程序,无论是两个节点还是一个节点,都停留在这里的while循环中,应该是表示一直没发送成功吧。
 TransmitMailbox = CAN_Transmit(CAN1, &TxMessage);

// 用于检查消息传输是否正常
while((CAN_TransmitStatus(CAN1, TransmitMailbox) != CANTXOK));
这是硬件原理图,主机和从机硬件一样,通过P8用两条信号线连接
沙发
flyleaf91|  楼主 | 2011-11-16 20:44 | 只看该作者
上面贴的代码多了一点被我注释掉的句子。。想修改一下却加载不了。。
请看下面这个吧。
  TransmitMailbox = CAN_Transmit(CAN1, &TxMessage);

        // 用于检查消息传输是否正常          
  while((CAN_TransmitStatus(CAN1, TransmitMailbox) != CANTXOK));

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

110

主题

157

帖子

2

粉丝