概述
该示例程序说明了 DMAC(直接
内存访问控制器)和 DTFR(DMA 触发因素
寄存器)的使用示例。
数据传输所需的参数存储在 DMAC 中,DMAC 响应 DMA 传输请求来传输数据。作为软件 DMA 传输请求的示例,在内部
存储器的位置之间传输数据的软件操作要点如下所示。
软件 DMA 传输请求示例
DTFR(DMA 触发因子寄存器)用于从所有中断信号中选择中断信号,该中断信号成为 DMA 的触发信号。来自 DTFR 的 DMA 数据传输请求由 DMAC 处理。具体而言,通过 DTFRn(n = 15 至 0)中的设置,从 128 个输入中断信号中选择要用作 DMA 传输请求的信号。下面以硬件 DMA 传输请求为例,说明以
定时器中断为触发进行数据传输的要点。内部RAM 的数据通过端口P0 输出。
硬件 DMA 传输请求示例
初始化
通用寄存器和功能
引脚被初始化。
n端口功能控制扩展寄存器
端口 n 功能控制寄存器 (PFCn)
端口 n 模式控制寄存器 (PMCn)
端口 n 模式寄存器 (PMn)
DMAC 设置
数据传输所需的参数在 DMAC 中设置。
传输源地址、传输目的地和传输数据大小。
用于传输源和传输目的地的片选信号。
下一个传送源地址、下一个传送目的地地址、以及下一个传送数据大小(根据需要)
DTFR 设置
设置用作 DMA 传输因子的中断信号。
DMAC 启动
DMA 传输启用,软件请求位同时启动,DMAC 响应软件传输请求传输数据。
启用 DMA 传输以启动 DMAC 传输数据以响应硬件传输请求。仅当中断信号触发来自 DTFR 的传输请求时,实际数据传输才会开始。
等待传输结束和传输结束
DMA 传输后产生的传输结束中断指示传输结束。清除 DMA 传输结束状态但完成 DMA 传输。下次地址设置功能可用于自动设置下次传输的参数。