ST意法半导体
登录
直播中
王鑫
8年用户
1271经验值
私信
关注
[问答]
如果将ADC通道和DMA定时扫描放置在一个数组中会怎样?
开启该帖子的消息推送
ADC模块
我在循环模式下使用四个 ADC 通道和 DMA 的定时扫描将它们放置在一个数组中可以吗
回帖
(1)
杨欢
2023-1-4 10:51:55
DMA 自动交错 ADC 值。
它将填充(作为循环缓冲区,如果以这种方式配置)您作为参数传递的数组,无论长度如何,直到您停止它。
uint32_t ADCReadings[1024];
//DMA will take hadc1 readings(interleaving channels) and store them inside ADCReadings array, the circular buffer created has legth 1024
HAL_ADC_Start_DMA(&hadc1, (uint32_t*) ADCReadings, 1024);
DMA 将按如下方式填充 ADCReadings:(如果来自 adc 的 4 个通道被激活)
ADCReadings[0]= 来自第一个通道的值
ADCReadings[1]= 来自第二个通道的值
ADCReadings[2]= 来自第三通道的值
ADCReadings[3]= 第 4 个通道的值
ADCReadings[4]= 来自第一个通道的值
ADCReadings[5]= 来自第二个通道的值
ADCReadings[6]= 来自第三通道的值
ADCReadings[7]= 第 4 个通道的值
........................
1024.ADCReadings[1023]= 第 4 个通道的值
DMA 自动交错 ADC 值。
它将填充(作为循环缓冲区,如果以这种方式配置)您作为参数传递的数组,无论长度如何,直到您停止它。
uint32_t ADCReadings[1024];
//DMA will take hadc1 readings(interleaving channels) and store them inside ADCReadings array, the circular buffer created has legth 1024
HAL_ADC_Start_DMA(&hadc1, (uint32_t*) ADCReadings, 1024);
DMA 将按如下方式填充 ADCReadings:(如果来自 adc 的 4 个通道被激活)
ADCReadings[0]= 来自第一个通道的值
ADCReadings[1]= 来自第二个通道的值
ADCReadings[2]= 来自第三通道的值
ADCReadings[3]= 第 4 个通道的值
ADCReadings[4]= 来自第一个通道的值
ADCReadings[5]= 来自第二个通道的值
ADCReadings[6]= 来自第三通道的值
ADCReadings[7]= 第 4 个通道的值
........................
1024.ADCReadings[1023]= 第 4 个通道的值
举报
更多回帖
rotate(-90deg);
回复
相关问答
ADC模块
为什么mux到sar和
dma
两
个
阵列中每
个数组
只写第
一个
元素?
2019-08-16
1277
怎样
通过GD32F350去读取
ADC
通道
扫描
模式
2021-11-08
3436
怎样
才能正确配置超过3
个
通道
的
DMA
?
2023-04-14
511
请问
ADC
1
扫描
模式的完成标记?
2020-08-26
1340
如何通过
ADC-DMA
多
通道
获得适当的
ADC
值?
2023-01-17
569
请问stm32f051使用ad的
dma
功能时为什么要设置
扫描
序列方向为回退?
2018-10-30
2427
怎样
使用固件库函数配置
ADC
两
个
通道
采集并用
DMA
传输数据呢
2022-01-26
1529
STM32F4双
ADC
同步采样的
DMA
数据处理,
数组
的大小对采样有什么影响吗?
2024-05-23
681
ADC
多
通道
DMA
配置的顺序是
怎样
的?
2021-10-21
2546
为什么使用CubeMX重新生成代码就要初始化顺序呢
2022-12-22
546
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分