eric2013 发表于 2023-10-24 09:36:40

基于STM32F429的HAL版双CAN通信案例(2023-10-24)

例程下载:
https://www.armbbs.cn/static/image/filetype/zip.gifV6-030_板载CAN1和CAN2双机通信.7z (1.85MB)

接线说明:




测试说明:

CAN1和CAN2波特率1Mbps



1、K1按键按下,CAN2发送消息给CAN1

串口打印:



CAN助手打印:



2、K2按键按下,CAN1发送消息给CAN2   

串口打印:



CAN助手打印:


eric2013 发表于 2023-10-24 12:20:06

更新完成。

hpdell 发表于 2023-10-26 10:09:30

牛鼻牛鼻呀

eric2013 发表于 2023-10-26 12:54:21

hpdell 发表于 2023-10-26 10:09
牛鼻牛鼻呀

本来早就该发布了,耽搁了一段时间,这次算是更新了。

hpdell 发表于 2023-10-26 15:45:46

eric2013 发表于 2023-10-26 12:54
本来早就该发布了,耽搁了一段时间,这次算是更新了。

领导辛苦了,

我另外一个帖子里面的 按钮 返回无效的问题有空帮我 看看是怎么回事呀 ?

eric2013 发表于 2023-10-26 16:49:04

hpdell 发表于 2023-10-26 15:45
领导辛苦了,

我另外一个帖子里面的 按钮 返回无效的问题有空帮我 看看是怎么回事呀 ?

好的,回复了{:33:}

hpdell 发表于 2023-10-27 09:04:55

eric2013 发表于 2023-10-26 16:49
好的,回复了

感谢感谢啊,:handshake

years 发表于 2023-11-2 14:44:56

我试着怎么一直发送失败
卡在我截图那里

xujun 发表于 2023-11-22 09:08:35

当设备不停地发送can数据时,就是每一帧数据之间不加延时,连续着发送。接收CAN会存在丢帧,有没有什么好办法处理呀???

eric2013 发表于 2023-11-23 08:22:28

years 发表于 2023-11-2 14:44
我试着怎么一直发送失败
卡在我截图那里

卡在这里一般是参数配置有问题,单步调试进去,看下是那里退出的。

eric2013 发表于 2023-11-23 08:24:34

xujun 发表于 2023-11-22 09:08
当设备不停地发送can数据时,就是每一帧数据之间不加延时,连续着发送。接收CAN会存在丢帧,有没有什么好办 ...

进入邮箱发送完成回调,说明有新的空间可以使用了,可以继续添加数据发送

/*
*********************************************************************************************************
*        函 数 名: HAL_CAN_TxMailbox0CompleteCallback
*        功能说明: TxMailbox0回调函数
*        形    参: hcan
*        返 回 值: 无
*********************************************************************************************************
*/
void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan)
{
        if(hcan == &Can1Handle)
        {
                bsp_PutMsg(MSG_CAN1_TxMailBox0, 0);               
        }
       
        if(hcan == &Can2Handle)
        {
                bsp_PutMsg(MSG_CAN2_TxMailBox0, 0);                       
        }
}

/*
*********************************************************************************************************
*        函 数 名: HAL_CAN_TxMailbox1CompleteCallback
*        功能说明: TxMailbox1回调函数
*        形    参: hcan
*        返 回 值: 无
*********************************************************************************************************
*/
void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan)
{
        if(hcan == &Can1Handle)
        {
                bsp_PutMsg(MSG_CAN1_TxMailBox1, 0);               
        }
       
        if(hcan == &Can2Handle)
        {
                bsp_PutMsg(MSG_CAN2_TxMailBox1, 0);                       
        }
}

/*
*********************************************************************************************************
*        函 数 名: HAL_CAN_TxMailbox2CompleteCallback
*        功能说明: TxMailbox2回调函数
*        形    参: hcan
*        返 回 值: 无
*********************************************************************************************************
*/
void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan)
{
        if(hcan == &Can1Handle)
        {
                bsp_PutMsg(MSG_CAN1_TxMailBox2, 0);               
        }
       
        if(hcan == &Can2Handle)
        {
                bsp_PutMsg(MSG_CAN2_TxMailBox2, 0);                       
        }
}
页: [1]
查看完整版本: 基于STM32F429的HAL版双CAN通信案例(2023-10-24)