[研电赛技术支持]

GD32H759I的CAN如何配置DMA接收?

[复制链接]
1656|9
手机看帖
扫描二维码
随时随地手机跟帖
陆空|  楼主 | 2024-11-27 15:55 | 显示全部楼层 |阅读模式
如题,can外设资源的dma接收函数如何使用

使用特权

评论回复
陆空|  楼主 | 2024-11-27 16:38 | 显示全部楼层
代码内容是这样的,请问可能是哪里出了问题?

CAN的RXFIFO配置

CAN的RXFIFO配置

main函数中的dma初始化配置

main函数中的dma初始化配置

使用特权

评论回复
陆空|  楼主 | 2024-11-27 16:45 | 显示全部楼层
不使用DMA时,CAN可以正常收发

使用特权

评论回复
丙丁先生| | 2024-11-28 09:47 | 显示全部楼层
配置GD32H759I的CAN DMA接收,需设置CAN_InitTypeDef结构体中的相关参数,并在NVIC中使能CAN中断。

使用特权

评论回复
Chad1989| | 2024-11-28 15:43 | 显示全部楼层
我以为所有单片机的CAN都不带DMA呢

使用特权

评论回复
stormwind123| | 2024-12-4 10:55 | 显示全部楼层
初始化CAN外设,配置DMA通道,配置CAN的DMA接收,建议参考GD32H759I的官方文档和库函数手册

使用特权

评论回复
陆空|  楼主 | 2024-12-6 09:32 | 显示全部楼层
stormwind123 发表于 2024-12-4 10:55
初始化CAN外设,配置DMA通道,配置CAN的DMA接收,建议参考GD32H759I的官方文档和库函数手册 ...

官方文档描述很含糊,按照流程来也无法实现FIFO接收。库函数手册里能用的函数更是少之又少

使用特权

评论回复
陆空|  楼主 | 2024-12-6 09:35 | 显示全部楼层
丙丁先生 发表于 2024-11-28 09:47
配置GD32H759I的CAN DMA接收,需设置CAN_InitTypeDef结构体中的相关参数,并在NVIC中使能CAN中断。 ...

就是按照这个步骤来的,配置理论上没有问题,能触发CAN接收中断,但是无法触发DMA转运

使用特权

评论回复
丙丁先生| | 2024-12-6 15:16 | 显示全部楼层
陆空 发表于 2024-12-6 09:35
就是按照这个步骤来的,配置理论上没有问题,能触发CAN接收中断,但是无法触发DMA转运 ...

检查DMA通道和配置是否正确。

使用特权

评论回复
陆空|  楼主 | 2024-12-10 09:47 | 显示全部楼层
已解决

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

6

帖子

0

粉丝