硬汉嵌入式论坛

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

[其它] HC32F4A0串口 DMA发送和接收

[复制链接]

15

主题

16

回帖

61

积分

初级会员

积分
61
发表于 2024-12-12 10:11:24 | 显示全部楼层 |阅读模式
由于项目原因,暂不能将代码公开,这里写一下实现逻辑。

华大官方用的是串口1,并且加了串口的中断等,对于初学者可能不太友好。这里,我用串口3实现了dma的发送(DMA1)和dma的接收(DMA2)。

对于dma发送的逻辑:DMA发送触发→DMA开始发送→TC传输完成,触发DMA中断 。

【注】:DMA中断回调函数中需要实现清除中断标志位和关闭串口3的发送使能函数。然后编写DMA_SENDDATA函数里面,需要配置源地址,传输次数,最重要是需要重新打开dma通道和串口tx发送使能。

对于dma接收的逻辑:DMA发送触发→DMA开始发送→TC传输完成,触发DMA中断 。

【注】:DMA中断回调函数中需要实现清除中断标志位和关闭串口3的RX使能函数。然后编写DMA_RECVDATA函数里面,需要配置源地址,传输次数,最重要是需要重新打开dma通道和串口RX使能。

然后就可以实现mcu接收串口助手发送的数据,并通过dma发送的方式回显。

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-12-13 01:35:27 | 显示全部楼层
谢谢分享,他们官方是不是没有配套对应的API。
回复

使用道具 举报

0

主题

33

回帖

33

积分

新手上路

积分
33
发表于 昨天 16:45 | 显示全部楼层
搞了块这家的板子来试了一下,好像还行,外设比较复杂,官方说明书不够详细,要找教程和资料比较难
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 19:06 , Processed in 0.250048 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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