FlexCAN跟MSCAN不同,但也差不多。
我按照DSP56F807UM上面说的,初始化并发送数据,就是从CAN_Tx看不到数据发出阿
请教各位大虾,这是怎么回事呢?
下面是我的发送程序,请各位高人帮忙指点一下,谢谢!
CAN1_Init(); //Flexcan初始化
while(1) //循环发送数据
{
FCMB0_Control|=0x0080;//发送 CODE=1000 inactive MB
/* a=0;
if(Bit3_GetVal())//按键判断
{
a|=1;
}
if(Bit4_GetVal())
{
a|=2;
}*/
FCMB0_DATA0=22; //填充数据
FCMB0_DATA1=a;
FCMB0_DATA2=33;
FCMB0_DATA3=44;
FCMB0_Control|=0x0007; //data lenght
FCMB0_Control|=0x00C0; //active MB CODE=1100
//按照手册上说,在这里就可以无条件的发送出去了
if(Bit3_GetVal())//按钮显示
{
Bit1_SetVal();
}
else
{
Bit1_ClrVal();
}
if(Bit4_GetVal())
{
Bit2_SetVal();
}
else
{
Bit2_ClrVal();
}
b=FCMB0_Control; //判断是否发送成功(CODE=1000),查看b值
if(FCIFLAG1&2) //发送成功则使对应的中断置1
{
a=b;
}
b=FCSTATUS&0x00C0; //状态判断
}
这上面咋就没有高手呢!!!
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |