8字节can通信如何做?

2010年11月01日 10:02    发布者:xiepeilin
例程里面的can传输只有2个字节,8个字节的,怎么修改呢?我把那个can通信稍微修改了一下(粗体表示),变成8字节通信的,不知道是否正确,麻烦各位帮个忙,看看是否正确。非常感谢!
/* transmit 1 message */
  TxMessage.StdId=0x00;
  TxMessage.ExtId=0x1234;
  TxMessage.IDE=CAN_ID_EXT;
  TxMessage.RTR=CAN_RTR_DATA;
  TxMessage.DLC=8;
  for(i=0;i<8;i++)
  {
        TxMessage.Data=aa;
  }  CAN_Transmit(CAN1,&TxMessage);


void CAN1_RX0_IRQHandler(void)
{
  CanRxMsg RxMessage;

  RxMessage.StdId=0x00;
  RxMessage.ExtId=0x00;
  RxMessage.IDE=0;
  RxMessage.DLC=0;
  RxMessage.FMI=0;
  for(j=0;j<8;j++)
     {
            RxMessage.Data=0x00;
         }  CAN_Receive(CAN1,CAN_FIFO0, &RxMessage);

  if((RxMessage.ExtId==0x1234) && (RxMessage.IDE==CAN_ID_EXT)
     && (RxMessage.DLC==8))  {
    ret = 1;
  }
  else
  {
    ret = 0;
  }
}
该文章有附件资料,如需下载请访问 电脑版

网友评论

xiepeilin 2010年11月26日
还 是自己顶吧
joshuahu 2010年12月25日
can总线通信比较稳定 就是做起来比较麻烦
joshuahu 2010年12月25日
我想顶 没办法顶啊
lxf2299 2011年11月08日
学习了,