论坛首页
任务活动
问答
论坛专题
登录
注册
范德萨发额
+ 关注
粉丝
2
|
主题
61
|
回帖
1012
加好友
私信
帖子
主题
回复
评论
stm32 DMA理论+实践
2024-4-9 12:11
ST MCU
82
1957
这里首先是AD的配置
//adc.h文件 #ifndef __ADC_H #define __ADC_H #include "stm32f10x.h" extern uint16_t addr[2]; void ...
DMA多通道单次触发 OK打开我们之前写好的ADC的代码,将我们写的DMA的初始化加进去 整体代码如下,后面开 ...
ADC触发之后,信号给DMA,这时候DMA会帮助ADC进行数据转移,也就不会像之前说的那样,不管转换多少个通道 ...
首先还是看一下图
2 ADC扫描模式+DMA 这个是之前写过的一个ADC采集的后续了stm32f103 ADC采集_是小刘不是刘的博客-CSDN博客 ...
之后我们写主函数volatile uint32_t time = 0; // ms 计时变量 uint8_t Data1[]={0x01,0x02,0x03,0x14}; ...
......
然后看了下中文参考手册,应该是翻译错了,因为的里面是1为清除
等待传输完成部分:等待传输完成的标志位为1退出循环 这里一般看有没有标志位主要是看参考手册:这里说了 ...
重置计数器部分,这里前面说过,DMA在开启的时候是不能更改计数器的值的,所以我们先失能之后更改完值重新 ...
函数分析
添加全局变量MyMDA_size 方便将传入的形参保存,后面好重新给计数器赋值 之后失能DMA只进行初始化,后面我 ...
2 改Init函数
代码如下 1 添加函数
4)DMA循环转移代码 首先我们上面说过,软件触发是不能配合重载的,所以转移一次之后就会停止,所以下一次 ...
结果(很明显看出,即使这里是吧data1的数据搬移到了data2但是1里面数据依然在,所以说是数据搬移,其实是 ...
声明两个数组,Data1里面有数据,2里面没有数据 调用MyDMA_Init()里面写入参数,第一个为传输个数,第二 ...
10 主函数
9 初始化结构体和使能DMA 将刚刚配置的参数,通过Init函数写入到DMA的配置中,之后开启cmd开启MDA传输数 ...
前一页
12
13
14
15
16
17
18
后一页
2
3
近期访客