打印
[活动专区]

【AT-START-F425测评】AT32F425串口使用DMA发送数据超时接收数.....

[复制链接]
836|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
slovak|  楼主 | 2022-3-8 22:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
DM, ar
1. 程序设计思路:
    设计一个函数用于串口发送数据,通过DMA方式发送数据,接收数据则通过中断方式接收不定长度的数据。
2. 数据发送具体实现方法:
   DMA弹性请求映射,可以将DMA的通道CHx_SRC[x=1-7]设定为任意来源,如将DMA_Chanel1通道设置为USART2_TX的具体函数为:
   dma_flexible_config(DMA1, FLEX_CHANNEL1, DMA_FLEXIBLE_UART2_TX);具体可以参考手册的说明。这一点应该要特别注意的地方。
   
3. 数据接收具体实现方法:
    具体的思路还是通过中断的方式结束数据,当检测到数据超时后,判断为数据接收完成,本程序中设置为5ms超时。

4. 数据超时的实现:
   通过定时器TMR6来计数实现

5.具体接线及代码运行情况,如图所示,接开发板的PA2,PA3口,测试代码可正常收发数据。
  

附带源码如下,有需要的可以直接下载运行,所有库已经整理完成。
串口DMA发超时收.zip (288.04 KB)



使用特权

评论回复
沙发
slovak|  楼主 | 2022-3-9 06:48 | 只看该作者
程序已经把bsp库文件集成一起,可以直接作为程序模拟使用。具体使用中有什么问题可以回复,我再慢慢修改。

使用特权

评论回复
板凳
chenqianqian| | 2022-3-9 07:58 | 只看该作者
DMA用好了,可以节省很多CPU开资。

使用特权

评论回复
地板
两只袜子| | 2022-3-10 09:57 | 只看该作者
虽然没申请到开发板,到可以多看看别人的测评贴

使用特权

评论回复
5
primojones| | 2022-12-5 22:29 | 只看该作者
不定长数据可以使用定时器的吗?              

使用特权

评论回复
6
earlmax| | 2022-12-5 23:10 | 只看该作者
这个Idle中断怎么使用              

使用特权

评论回复
7
wsnsyy| | 2022-12-6 13:38 | 只看该作者
425的DMA没有固定映射模式了吗

使用特权

评论回复
8
i1mcu| | 2022-12-6 16:50 | 只看该作者
AT32F425的串口有几路?              

使用特权

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

本版积分规则

2

主题

51

帖子

2

粉丝