初级会员

- 积分
- 111
- 金钱
- 111
- 注册时间
- 2014-5-11
- 在线时间
- 10 小时
|

楼主 |
发表于 2014-7-9 09:38:05
|
显示全部楼层
回复【2楼】正点原子:
---------------------------------
u8 Can_Send_Msg(u8* msg,u8 len,short iRx)
{
u8 mbox;
u16 i=0;
CanTxMsg TxMessage;
TxMessage.StdId=0x1;
TxMessage.ExtId=0x1;
printf("TXstd[]%x TXEXtId%x",TxMessage.StdId,TxMessage.ExtId);
TxMessage.IDE=1; // 使用扩展标识符
TxMessage.RTR=0; // 消息类型为数据帧,一帧8位
TxMessage.DLC=len; // 发送两帧信息
for(i=0;i<len;i++)
TxMessage.Data=msg; // 第一帧信息
mbox= CAN_Transmit(CAN1, &TxMessage);
i=0;
while((CAN_TransmitStatus(CAN1, mbox)!=CAN_TxStatus_Failed)&&(i<0XFFF))i++; //等待发送结束
if(i>=0XFFF)return 1;
return 0;
}
void Init_RxMes(CanRxMsg *RxMessage)
{
uint8_t i = 0;
RxMessage->StdId = 0;
RxMessage->ExtId = 0;
RxMessage->IDE = 1;
RxMessage->RTR = 0;
RxMessage->DLC = 8;
RxMessage->FMI = 0;
for (i = 0; i < 8; i++)
{
RxMessage->Data = 0;
}
}这样改了之后中断接收到的data还是错的。。。。 |
|