[CAN-bus/DeviceNet] CAN发送数据发送一帧后再发第二帧就不行

[复制链接]
3213|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

粉丝
快速回复 在线客服 返回列表 返回顶部