STM32常见应用分析 arm 单片机 时钟 入门 深入
DMA配置实例
在这个例子中使用了DMA通道6:
DMA请求(触发)源是定时器3
DMA数据源是GPIO输入寄存器/DMA目标是RAM中的缓冲区
设置外设地址:DMA_CPAR6 = (u32)&GPIOD->IDR
设置存储器地址 : DMA_CMAR6 = (u32) Parallel_Data_Buffer
设置数据传输数目 : DMA_CNDTR6 = 512
配置 DMA_CCR6 寄存器:
存储器数据宽度 = 半字 (16位) DMA 模式 = 循环 外设数据宽度 = 半字 (16位) 通道优先级 = 非常高 外设地址递增 = 无递增 中断 = 禁止 存储器地址递增 = 自动递增
传输方向 = 外设地址为传输的源地址
设置DMA_CCR6寄存器中的ENABLE位,启动传输通道
开启DMA请求:设置TIM3_DIER寄存器中的TDE位
STM32 全国巡回研讨会
常见应用解析
2008年9月 18