OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5542|回复: 2

CAN发送不成功TxMessage.ExtId

[复制链接]

29

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
190
金钱
190
注册时间
2014-4-24
在线时间
0 小时
发表于 2014-9-12 14:32:29 | 显示全部楼层 |阅读模式
5金钱

u8 CanSendData(u8 SID,u8 Target_Adr,u8 Instruction,u8 Fun_Code,vu8 Data[])
{
  CanTxMsg TxMessage;
  u16 i = 0;
  u8 TransmitMailbox = 0;


//   TxMessage.ExtId=((SID & 0x0000003f)<<22) | ((Target_Adr & 0x0000003f)<<16) |((Instruction & 0x000000ff)<<8)|(Fun_Code& 0x000000ff);
  TxMessage.ExtId=0x00000000;
  TxMessage.IDE=CAN_ID_EXT;
  TxMessage.RTR=CAN_RTR_DATA;

//Datas of the TxMessage
  TxMessage.DLC=6;
  for(i=0;i<6;i++) //用于发送多bit
 {       
   TxMessage.Data = Data;
 }

  TransmitMailbox = CAN_Transmit(CAN1,&TxMessage);//开始一个消息的传输
  i = 0;
  while((CAN_TransmitStatus(CAN1,TransmitMailbox) != CANTXOK) && (i != 0xFF))//通过检查CANTXOK位来确认发送是否成功
  {
    i++;
  }

  return 1;
}

当TxMessage.ExtId=0x00000000;CAN能成功发送,但是我把它改成比如TxMessage.ExtId=0x00000001;就不能成功发送,这是什么情况?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

29

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
190
金钱
190
注册时间
2014-4-24
在线时间
0 小时
 楼主| 发表于 2014-9-12 22:03:26 | 显示全部楼层
@正点原子,什么情况能解决吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-9-12 22:54:03 | 显示全部楼层
接收端的ID设置没做好吧?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-1 08:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表