打印
[应用相关]

AN0009—AT32 DMA通道灵活配置

[复制链接]
648|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 ArterySW 于 2022-1-8 12:38 编辑

AN0009—AT32 DMA通道灵活配置


概述
使用 Artery 部分系列 MCU 时(如 AT32F413\ AT32F415\ AT32F403A\ AT32F407),可以使用DMA 弹性映射功能。此功能使得 DMA 的通道配置更加灵活,可以将某外设的 DMA 请求通道指定到DMA1 或者 DMA2 共 14 个通道中的任意一个通道。(如:可以将 SPI1 接受数据的 DMA 请求指定到DMA1 的通道 7)。本指南将介绍如何使用 DMA 弹性映射请求,从而使得 DMA 传输变得更加灵活多变。
支持型号
AT32F系列

目录
概述 ......................... 5
配置及使用方法 ................ 6
常规 DMA 使用( DMA 固定映射) ........6
DMA 弹性映射使用 ....................... 6
例程说明 ................................. 9
例程 Data_to_gpio_flexible ......................... 9  
版本历史 12




上表中的 CHx_SRC 设定值就是硬件 ID 号,将这个 ID 号写进通道来源寄存器中的对应通道 bit 位就可以了。例如:要将 SPI1 的 RX 的 DMA 请求映射到 DMA1 的通道 7,那么就要将 0x09 写入到DMA_SRC_SEL1 寄存器的 CH7_SRC[23:16]。其他配置与常规 DMA 配置相同通过以上 3 步的配置,弹性映射功能即可使用。注:DMA1/2 的 DMA_FLEX_EN 必须要同时设定为 1 或 0 时,DMA1/2 的映像模式必须一致。无法 DMA1 是固定式映像,DMA2 是弹性式映像。

2) DMA 弹性映射库函数使用以上的配置在BSP中的dma.h\dma.c的库文件中有提供相应的库函数,使用者只需调用库函数即可完成DMA弹性映射模式的配置。库函数说明如下:








AN0009_DMA_with_Flexible_Mapping_CH.pdf

482.69 KB

使用特权

评论回复
沙发
xinpian101| | 2020-6-21 18:01 | 只看该作者
太棒了,学习学习

使用特权

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

本版积分规则

150

主题

1731

帖子

24

粉丝