下载的官方战舰版的源码,只能单向传输?有什么解决的方案吗?
u8 key;
u8 i=0,t=0;
u8 cnt=0;
u8 canbuf[8];
u8 res;
u8 mode=CAN_Mode_LoopBack;
//CAN工作模式;CAN_Mode_Normal(0):普通模式。
// CAN_Mode_LoopBack(1):环回模式。
void while_1()
{
key=KEY_Scan(0);
if(key==KEY0_PRES)//KEY0按下,发送一次数据
{
for(i=0;i<8;i++)
{
canbuf[i]=cnt+i;//填充发送缓冲区
printf("canbuf[%d] = %d
",i,canbuf[i]);
}
res=Can_Send_Msg(canbuf,8);//发送8个字节
if(res)
{
printf("Failed
"); //提示发送失败
}
else
{
printf("OK
");
}
}else if(key==WKUP_PRES)//WK_UP按下,改变CAN的工作模式
{
mode=!mode;
CAN_Mode_Init(CAN_SJW_1tq,CAN_BS2_8tq,CAN_BS1_9tq,4,mode);//CAN普通模式初始化, 波特率500Kbps
if(mode==0)//普通模式,需要2个开发板
{
printf("Nnormal Mode
");
}else //回环模式,一个开发板就可以测试了.
{
printf("LoopBack Mode
");
}
}
key=Can_Receive_Msg(canbuf);
if(key)//接收到有数据
{
for(i=0;i<key;i++)
{
printf("canbuf[%d] = %d
",i,canbuf[i]);
}
}
t++;
delay_ms(10);
if(t==20)
{
LED0=!LED0;//提示系统正在运行
t=0;
cnt++;
printf("cnt = %d
",cnt);
}
}
一周热门 更多>