- 1
- 2
- 3
- 4
- 5
获得赏金
10.00元采用DMA的数据转运——单次转运数据和多次转运数据 mulan keil 详细教程
资料介绍
项目内容:(详细教程)
包含DMA模式下对于数据进行单次搬运和多次搬运的两种方式,对数据进行有效存储。
1. 关于DMA模式在STM32CUBEMX软件中的详细配置
2. 在keil编译平台上对DMA模式(两种搬运模式)的详细代码编写
3. 运行后的最终效果图
ben
原理解释:
DMA介绍:
DMA(DirectMemoryAccess)直接存储器存取,它有权限访问内存SRAM、程序存储器、寄存器。它可以提供外设和存储器以及存储器和储存器之间的高速数据传输,无需CPU干预节省了CPU资源。
STM32有12个可配置的DMA通道,DMA1(7个通道)、DMA2(5个通道),每个通道都支持软件触发和特定的硬件触发。F103C8T6中只有DMA1所以这款芯片只有7个DMA通道。
二、 DMA简图
1.外设寄存器,Flash,SRAM是可以通过DMA互相访问的(除了一些只读只写寄存器不能读/写),可以通过指定DMA方向参数指定,数据从哪里读取存储到哪里
2.DMA转运数据必须设定数据源(数据来自哪里),和数据目标(数据存放到哪里),这两个部分,他们都包含有
1. 起始地址:读取或存放的其实地址
2. 数据宽度:制定将要读取/存放的数据长度,可选。
项目配置:
一、STM32CUMX的设置
1、打开DMA设置
1.选择DMA1的通道1
2.地址选择自增
3.传输数据宽度为Byte
oled屏幕的设置和参数配置
选用PB8和PB9作为数据传输的端口
PB8为scl,是时钟线
PB9为sda,是数据线
两者都设置为开漏输出模式
GPIO端口为浮空模式
对PB8,PB9进行改名
代码编写:
首先要对OLED屏幕进行初始化,使用OLED_Init();在上电后对于OLED屏进行初始化。
一、单次搬运模式
显示转运前的的数据,用数组存储数据
再启用DMA存储,转运开启
等待转运完成以后,再显示转运后的数据
成功对数据进行单次搬运
二、多次搬运
在单次搬运的项目基础上,额外增加这样的函数
对DataA的数据进行加一
用DMA多次转运模式对DataA的数据进行存储转运到B
显示转运后的数据
三、最终效果演示图
部分文件列表
文件名 | 大小 |
DMA_once/ | |
DMA_once/.cproject | |
DMA_once/.mxproject | 9KB |
DMA_once/.project | 1KB |
DMA_once/Core/ | |
DMA_once/Core/Inc/ | |
DMA_once/Core/Inc/dma.h | 1KB |
DMA_once/Core/Inc/gpio.h | 1KB |
DMA_once/Core/Inc/main.h | 2KB |
DMA_once/Core/Inc/OLED.h | 1KB |
DMA_once/Core/Inc/OLED_FONT.h | |
... |
- 21ic小能手打赏了10.00元
最新上传
-
cai0603 打赏3.00元 3天前
用户:CJQ_ENJOY
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
cai0603 打赏3.00元 3天前
用户:dongshao
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏310.00元 3天前
用户:小猫做电路
-
21ic下载 打赏310.00元 3天前
用户:liqiang9090
-
21ic下载 打赏270.00元 3天前
用户:kk1957135547
-
21ic下载 打赏160.00元 3天前
用户:w178191520
-
21ic下载 打赏160.00元 3天前
用户:w1966891335
-
21ic下载 打赏50.00元 3天前
用户:w993263495
-
21ic下载 打赏40.00元 3天前
用户:w993263495
-
21ic下载 打赏90.00元 3天前
用户:cooldog123pp
-
21ic下载 打赏30.00元 3天前
用户:sun2152
-
21ic下载 打赏40.00元 3天前
用户:xzxbybd
-
21ic下载 打赏40.00元 3天前
用户:铁蛋锅
-
21ic下载 打赏30.00元 3天前
用户:happypcb
-
21ic下载 打赏50.00元 3天前
用户:forgot
-
21ic下载 打赏10.00元 3天前
用户:xuzhen1
-
21ic下载 打赏20.00元 3天前
用户:wanglu6666
-
21ic下载 打赏5.00元 3天前
用户:人间留客
-
21ic下载 打赏5.00元 3天前
用户:jyxjiyixing
-
21ic下载 打赏5.00元 3天前
用户:akae_du
-
21ic下载 打赏5.00元 3天前
用户:ouyang_56
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
xlhtracy 打赏10.00元 3天前
-
xlhtracy 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
xlhtracy 打赏5.00元 3天前
-
czmhcy 打赏1.00元 3天前
资料:bitboy
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏20.00元 3天前
资料:STM32控制小米电机
全部评论(0)