STM32学习之DMAM-M模式

发布者:火箭少年最新更新时间:2018-10-07 来源: eefocus关键字:STM32  DMAM-M模式 手机看文章 扫描二维码
随时随地手机看文章

由于是M-M模式,所以只能选择DMA2

一、首先应该初始化DMA结构体

1.选择通道DMA_Channel,根据数据流选择对应的通道,

2.选择源数据地址DMA_PeripheralBaseAddr

3.目标地址DMA_Memory0BaseAddr

3.选择传输方向DMA_DIR,根据实际情况有这三种DMA_DIR_PeripheralToMemory        DMA_DIR_MemoryToPeripheral      DMA_DIR_MemoryToMemory  

4.设定待传输数据数目DMA_BufferSize,源数据大小

5.使能源数据地址,目标地址递增,

6.源数据和目标宽度DMA_PeripheralDataSize和DMA_MemoryDataSize,根据需要选择,字节,半字和字

7.选择传输模式DMA_MemoryDataSize,M-M模式只能一次传输,

8.DMA_Priority:软件设置数据流的优先级,有 4 个可选优先级分别为非常高、高、中和低 DMA 优先级只有在多个DMA 数据流同时使用时才有意义  

9.DMA_FIFOModeFIFO 模式使能如果选择存储器到存储器模式(DMA_SxCR 中的 DIR 位为“10”),并且 DMA_SxCR 寄存器中的 EN 位为“1”,则此位由硬件置 1,因为在存储器到存储器配置不能使用直接模式。

10.DMA_FIFOThreshold: FIFO 阈值选择,可选 4 种状态分别为 FIFO 容量的 1/4、1/2、 3/4 和满;  

11.DMA_MemoryBurst:存储器突发模式选择,可选单次模式、 4 节拍的增量突发模

式、 8 节拍的增量突发模式或 16 节拍的增量突发模式

DMA_PeripheralBurst:外设突发模式选择,可选单次模式、 4 节拍的增量突发模
式、 8 节拍的增量突发模式或 16 节拍的增量突发模式,

12.初始化结构体,清除标志位,使能数据传输,检测DMA数据流是否有效并带有超时检测功能  


关键字:STM32  DMAM-M模式 引用地址:STM32学习之DMAM-M模式

上一篇:STM32学习之EXTI
下一篇:STM32学习之GPIO

推荐阅读最新更新时间:2024-03-16 16:15

STM32——TIM死区互补PWM波输出
于pwm波的输出实验老早之前就学了,一直拖到现在才写,,,。由于之前接触过32的高级定时器所以是先从死区pwm波开始学的,后面才学的pwm波。其实会发出死区pwm波了也就会发pwm波了。在学习32的某个功能时要先去看32的数据参考手册了解它的功能然后看它有哪些寄存器,对你需要用到的寄存器深入了解,最后看库函数进行编程。 要发出死区pwm波就要用到32的高级定时器TIM1或TIM8,这两个定时器才有死区寄存器才能发出死区pwm波,对于它们的介绍网上资料有很多这里就不重复啰嗦了,但需要看几个重要的寄存器: ● 控制寄存器(TIMx_CRx) ● 模式控制寄存器(TIMx_SMCR) ● 状态寄存器(TIMx_SR) ● 计数器寄存器(
[单片机]
<font color='red'>STM32</font>——TIM死区互补PWM波输出
STM32学习总结之IO控制
学习目标: 掌握 STM32 基础知识 学习STM32单片机之------IO控制 数据缩写 ODR : Output data register;数据输出寄存器 RCC(reset and clock control);复位和时钟控制 学习内容: 在STM32 中,每个外设都有一个起始地址,叫做外设基地址,外设的寄存器就以这个基地址为标准按照顺序排列,跟结构体里面的成员差不多 ODR 寄存器的地址偏移是:0CH,这个偏移地址是基于端口的起始地址而言的 STM32 的IO 口还要配置方向,这个由端口配置寄存器来控制。端口配置寄存器分为高低两个,每4bit 控制一个IO 口,所以端口配置低寄存器:CRL 控制这IO
[单片机]
<font color='red'>STM32</font>学习总结之IO控制
STM32开发 -- Jlink常用命令
h speed 4000 device = STM32F429ZI erase loadbin BOOT.bin 0x8000000 loadbin 正式版本.bin 0x08004000 loadbin 工厂测试.bin 0x08020000 savebin 工厂生产.bin 0x08000000 0x00080000 rx 3 qc exit 一直在用这个脚本烧写程序,但是,细细一看有点懵。 里面 h,rx 3,qc 等的含义不太清楚。 接下来详细总结一下,Jlink都还有哪些常用的命令。 一、查看jlink命令 使用的jlink版本如下图: jlink命令: J-Link ? Available comma
[单片机]
<font color='red'>STM32</font>开发 -- Jlink常用命令
基于STM32设计的掌上游戏机详细开发过程
一、环境与硬件介绍 开发环境:keil5 代码风格: 寄存器风格,没有采用库函数,底层代码全部寄存器方式编写,运行效率高,注释清楚。 MCU型号: STM32F103ZET6 开发板: 正常的一块STM32开发板,带LCD插槽,带4颗独立按键。 游戏模拟器: NES游戏模拟器 LCD : ALIENTEK的3.5寸屏幕。(屏幕型号不重要,随便一款都可以的,把屏幕底层驱动代码写好,适配即可) 声音输出设备 : 采用VS1053 (SPI接口,操作方便) 游戏手柄: 支持FC游戏手柄 完成这个掌上游戏机需要使用的硬件设备不复杂,如果想要体验游戏,需要的必备硬件: 1. (必要)STM32F103系列最小系统版一个 2. (必要)L
[单片机]
基于<font color='red'>STM32</font>设计的掌上游戏机详细开发过程
stm32驱动NOR Flash 之MX25L51245G(64MB)
MX25L51245G 支持SPI的MODE0/MODE3,一般都选择mode3 #define FLASH_SECTOR_SIZE (4*1024) #define FLASH_PAGE_SIZE 256 引脚定义 /* * SPI1 * @SCK : PA5 * @MISO : PA6 * @MOSI : PA7 * * @CS : PA0 */ 读写接口 static u8 SPI_Write(u8 byte) { u32 timeout = 0xFFFF; while(!(SPI1- SR & SPI_I2S_FLAG_TXE)) { if(--timeout == 0) { printf(
[单片机]
STM32非对称PWM模式实现动态移相
MCU:STM32F334C8T6 STM32有多种PWM模式,实现各种不同的强大功能,本文使用非对称PWM模式,实现可动态改变移相相位的全桥PWM驱动波形 首先什么是非对称PWM模式? Asymmetric mode allows two center-aligned PWM signals to be generated with a programmable phase shift. 那什么是center-aligned PWM?个人比较浅显的理解为计数器采用中心计数模式时的PWM,如下图所示(截自ST官方参考手册),所以这里和之前讲的PWM中最大的不同之一就是计数器模式的选择,一定是选择中心计数模式,可根据中断的需要选择
[单片机]
<font color='red'>STM32</font>非对称PWM<font color='red'>模式</font>实现动态移相
stm32怎么用keil软件进行调试
在做开发的前几年,基本上都没用仿真,有bug就尝试改程序,一边改一边调试。 甚至都还不知道硬件仿真存在的价值,因为一直都没用过,而且很多芯片也不支持。 直到有一次在做行车记录仪项目的时候,接触到了GRAIN公司的一款单片机。 本来我打算是直接开干的,但是老大非要我把这个芯片的仿真环境搭好。 于是我就开始网上搜集资料,不得不说这块的资料真少,那时又刚接触仿真这块的。 搞了将近半个月都搞不定,然后我鼓起勇气跟老大说,仿真搞不出来,要不我就直接开始写程序烧录进去调试算了。 但是老大的意思还是希望我把仿真的环境搭建出来,我又试了2个星期,还是不行,于是就不理他了,直接开始写程序调试。 如果没浪费时间研究怎么搭建仿环境,估计我程序都完成40
[单片机]
STM32的数据类型基础介绍
首先说一下编程过程中几个步骤吧 第一,选择一门语言,C语言或汇编语言,嵌入式编程一般目前流行还是C,这个需要基础与时间 第二读懂了解 MCU的寄存器各寄存器的功能,尤其是一些IO口设置,各模块时钟设置比如定时器,I2C,同步异步串口,PWM等等,以前的话51的话没有这样设置。而现在MCU基本上各模块时钟都分开了。这个可以看官方数据说明书就可以了。 其实程的目的就是设置一系列寄存器.并根据你设计程序流程去执行它,期间可能加入了你设计好的一些算法,和数学公式。进行计算,或执行。 第三,你有一块你的实验板就如这次STM32推的F429,你还需要下载程序的编程器。就是把编译器编译好的代码下载到你的目标实验板上,不过ST推的多数
[单片机]
<font color='red'>STM32</font>的数据类型基础介绍
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved