CAN1TBSEL=CAN1TFLG; //Transmit Buffer Selection
temp = CAN1TBSEL;
CAN1TXIDR0=0x01;
CAN1TXIDR1=0x00; //MSCAN 1 Transmit Identifier Register
CAN1TXIDR2=0x04;
CAN1TXIDR3=0x08;
for(i=0;*(MsgOut+i)!='\0';i++)
*((char *)&CAN1TXDSR0+i)=*(MsgOut+i); //MSCAN 1 Transmit Data Segment Register
CAN1TXDLR=i; //***** CAN1TXDLR 最多8个字节 ****//
//// CAN1TXTBPR=0x00; //设置发送缓冲区优先级
CAN1TFLG=CAN1TBSEL; //清除发送缓冲标志
while(!(CAN1TFLG&temp)); //只用了一次发送任务,只要CAN1TFLG==1,就发送成功
printp("CAN1 SEND\n");
这样试试,初始化程序没问题。
|