打印
[CAN-bus/DeviceNet]

CAN发送数据发送一帧后再发第二帧就不行

[复制链接]
2577|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lss1985|  楼主 | 2011-4-12 20:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CAN总线,我发送一帧数据之后修改了数据,然后再发送就发不出去了,是因为发送缓冲区没有清除还是因为错误计数器要清零呢? data=0x1111;
CAN1TFI1=0<<31|0<<30|8<<16|0x00; //帧信息,标准帧,8位数据
  CAN1TID1=0xAA;                 //帧ID:AA
  CAN1TDA1=data;                //前4字节数据
  CAN1CMR=1<<5|1;        //第一次能成功

  data=0x2222;
  CAN1TDA1=data;
  CAN1CMR=1<<5|1;//第二次发送用ZLGCANTest看不到数据

相关帖子

沙发
fixmezhu| | 2011-4-13 11:03 | 只看该作者
本人菜鸟一个,解答只做参考哈~
发送缓冲去是不需要清除的吧,错误计数器也和发送没有多大关系,除非是总线关闭了。
按你的波特率来算,是不是发送还没有完成,你就又开始发送命令了?在每次发送之前,应该判断一下SR寄存器吧。

使用特权

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

本版积分规则

25

主题

92

帖子

2

粉丝