硬汉嵌入式论坛

 找回密码
 立即注册
查看: 479|回复: 6
收起左侧

[CAN/FDCAN] H723三个通道canfd通讯

[复制链接]

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2025-4-27 16:06:22 | 显示全部楼层 |阅读模式
H7与8个G431芯片进行canfd通讯,G4芯片以2ms的频率发送,H7这边出现问题是,当H7按照固定频率发送数据时,发送是一直可以的,但是接收就会出现问题,报错原因是接收缓冲区已满,但是通道1就没有问题,其他两个通道就会出现这个报错,去看ram分配,地址偏移也没什么问题,计算也没有超过分配的大小,后来使用水印中断每4个消息进入一次中断就不会出现接收满的问题,这是为什么啊?是还有哪里配置有问题吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115988
QQ
发表于 2025-4-28 09:31:17 | 显示全部楼层
是不是你中断里面处理的消息太多了。
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2025-4-28 10:11:19 | 显示全部楼层
eric2013 发表于 2025-4-28 09:31
是不是你中断里面处理的消息太多了。

但是奇怪的是,通道1使用new message进入中断就没有问题
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2025-4-28 10:33:04 | 显示全部楼层
通道1和通道2使用的FIFO0,通道3使用FIFO1,中断里面调用的都是同一个程序,进行解析
回复

使用道具 举报

5

主题

229

回帖

249

积分

高级会员

积分
249
发表于 2025-4-28 13:38:47 | 显示全部楼层
Robot_yy20 发表于 2025-4-28 10:33
通道1和通道2使用的FIFO0,通道3使用FIFO1,中断里面调用的都是同一个程序,进行解析

带操作系统的话,进中断把CAN数据扔到队列或者邮箱,在主流程里面取出数据处理,你中断里面直接处理的话有可能占用太多时间
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115988
QQ
发表于 2025-4-29 11:02:17 | 显示全部楼层
Robot_yy20 发表于 2025-4-28 10:33
通道1和通道2使用的FIFO0,通道3使用FIFO1,中断里面调用的都是同一个程序,进行解析

中断里面不做任何解析处理,看看还正常不,如果正常,那基本就是这个问题了。
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2025-5-20 10:53:32 | 显示全部楼层
eric2013 发表于 2025-4-29 11:02
中断里面不做任何解析处理,看看还正常不,如果正常,那基本就是这个问题了。

抽空可以试下,现在暂时能用,先忙其他项目了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-2 02:26 , Processed in 0.247364 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表