|
最近调试CAN功能:用的这个例程---V7-069_双FDCAN之间通信
发现问题:J12和J13都跳过的,CANH1短接CANH2,CANL1短接CANL2.
仿真时
while (1)
{
{
MSG_T msg;
if (bsp_GetMsg(&msg))
{
switch (msg.MsgCode)
{
case MSG_CAN1_RX: /* 接收到CAN设备的应答 */
printf("CAN1接收到消息\r\n");
can1_Analyze();
break;
case MSG_CAN2_RX: /* 接收到CAN设备的应答 */
printf("CAN2接收到消息\r\n");
can2_Analyze();
break;
}
}
}
/* 判断定时器超时时间 */
if (bsp_CheckTimer(0))
{
/* 每隔500ms 进来一次 */
bsp_LedToggle(2);
}
/* 按键滤波和检测由后台systick中断服务程序实现,我们只需要调用bsp_GetKey读取键值即可。 */
ucKeyCode = bsp_GetKey(); /* 读取键值, 无键按下时返回 KEY_NONE = 0 */
if (ucKeyCode != KEY_NONE)
{
switch (ucKeyCode)
{
case KEY_DOWN_K1: /* K1键按下 */
printf("CAN2发送消息给CAN1,蜂鸣器鸣响4次\r\n");
can_BeepCtrl(1, 4);
break;
case KEY_DOWN_K2: /* K2键按下 */
printf("CAN1发送消息给CAN2,点亮LED1\r\n");
can_LedOn(1, 1);
break;
case KEY_DOWN_K3: /* K3键按下 */
printf("CAN1发送消息给CAN2,熄灭LED1\r\n");
can_LedOff(1, 1);
break;
default:
/* 其它的键值不处理 */
break;
}
}
}
按电路板上的K1,K2,K3按键,并没有达到预期效果,灯不亮蜂鸣器也不响。经过测试,发现CAN能够收到数据,问题原因是CAN发送不出来数据,但是发送又是标准函数,所以不知道怎么回事,请教大神帮忙看看
|
|