CAN发送问题
最近调试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发送不出来数据,但是发送又是标准函数,所以不知道怎么回事,请教大神帮忙看看
测试V7-085
基于STM32H7的双CANFD通信案例(2022-06-30)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=103449&fromuid=58
(出处: 硬汉嵌入式论坛)
你给的例程下载进去跑了下:
V7-069_双FDCAN之间通信(仲裁500K,通信2M).7z (4.08MB)
V7-085_双FDCAN之间通信(仲裁500K,通信1M).7z (4.08MB)
我用的板子是(STM32-V70.8mm )1M的程序没问题,2M的没反应。怎么回事?是我的硬件板子不支持么? qingxirensheng 发表于 2024-4-22 12:06
你给的例程下载进去跑了下:
V7-069_双FDCAN之间通信(仲裁500K,通信2M).7z (4.08MB)
V7-085_双FDCAN之间 ...
早期V7用的PHY芯片批次是可以2M的,后来用的这个批次不支持了
所有我们这里配套了两个例子,方便大家选择对应的。
页:
[1]