你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
请教ADC的DMA模式的使用问题
[复制链接]
winterflower
提问时间:2015-4-1 13:48 /
我有4个AD要用到,想用DMA模式,看库函数例程只有一个通道,请问要4通道都用DMA模式怎么使用
赞
0
收藏
0
评论
10
分享
发布时间:2015-4-1 13:48
举报
请先
登录
后回复
10个回答
winterflower
回答时间:2015-4-1 13:50:39
a0a.1 32b0c
用的是L052的芯片,不是F1系列的,F1系列的几通道同时DMA有例程的
赞
0
评论
回复
支持
反对
废鱼
回答时间:2015-4-1 16:08:44
a0a.1 32b0c
连续采集,放入到DMA的缓冲区中,他是依次放入的。
赞
0
评论
回复
支持
反对
木木鱼
回答时间:2015-4-1 17:05:02
a1024a.1 32b0c
帮顶一下!
赞
0
评论
回复
支持
反对
winterflower
回答时间:2015-4-2 08:55:25
a0a.1 32b0c
AdcHandle.Instance = ADC1;
AdcHandle.Init.OversamplingMode = DISABLE;
AdcHandle.Init.ClockPrescaler = ADC_CLOCKPRESCALER_PCLK_DIV1;
AdcHandle.Init.LowPowerAutoOff = DISABLE;
AdcHandle.Init.LowPowerFrequencyMode = ENABLE;
AdcHandle.Init.LowPowerAutoWait = ENABLE;
AdcHandle.Init.Resolution = ADC_RESOLUTION12b;
AdcHandle.Init.SamplingTime = ADC_SAMPLETIME_7CYCLES_5;
AdcHandle.Init.ScanDirection = ADC_SCAN_DIRECTION_UPWARD;
AdcHandle.Init.DataAlign = ADC_DATAALIGN_RIGHT;
AdcHandle.Init.ContinuousConvMode = ENABLE;
AdcHandle.Init.DiscontinuousConvMode = DISABLE;
AdcHandle.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIG_EDGE_NONE;
AdcHandle.Init.EOCSelection = EOC_SINGLE_CONV;
AdcHandle.Init.DMAContinuousRequests = ENABLE;
HAL_ADC_Init(&AdcHandle);
HAL_ADCEx_Calibration_Start(&AdcHandle, ADC_SINGLE_ENDED) ;
sConfig.Channel = ADC_CHANNEL_0;
HAL_ADC_ConfigChannel(&AdcHandle, &sConfig);
HAL_ADC_Start_DMA(&AdcHandle, &aResultDMA, 1);
例程如上,我想再增加ADC_CHANNEL_1,ADC_CHANNEL_2;
改如何设置呢
赞
0
评论
回复
支持
反对
winterflower
回答时间:2015-4-2 08:55:50
a0a.1 32b0c
安 发表于 2015-4-1 16:08
连续采集,放入到DMA的缓冲区中,他是依次放入的。
能否具体说一下,我不是很明白
赞
0
评论
回复
支持
反对
废鱼
回答时间:2015-4-2 09:25:13
a0a.1 32b0c
给你传个多通道的采集例程
main.rar
(2.35 KB, 下载次数: 39)
2015-4-2 09:24 上传
点击文件名下载附件
赞
0
评论
回复
支持
反对
wyxy163@126.com
回答时间:2015-4-2 10:54:11
a0a.1 32b0c
提示:
作者被禁止或删除 内容自动屏蔽
赞
0
评论
回复
支持
反对
wamcncn
回答时间:2015-4-2 13:14:55
a1024a.1 32b0c
学习一下
赞
0
评论
回复
支持
反对
jackzhouly
回答时间:2015-4-2 17:30:31
a0a.1 32b0c
用DMA将读取的数据放到内存的端口,然后再读取就可以来哦
赞
0
评论
回复
支持
反对
qimeiya
回答时间:2015-5-13 18:08:44
a1024a.1 32b0c
学习一下
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
AdcHandle.Init.OversamplingMode = DISABLE;
AdcHandle.Init.ClockPrescaler = ADC_CLOCKPRESCALER_PCLK_DIV1;
AdcHandle.Init.LowPowerAutoOff = DISABLE;
AdcHandle.Init.LowPowerFrequencyMode = ENABLE;
AdcHandle.Init.LowPowerAutoWait = ENABLE;
AdcHandle.Init.Resolution = ADC_RESOLUTION12b;
AdcHandle.Init.SamplingTime = ADC_SAMPLETIME_7CYCLES_5;
AdcHandle.Init.ScanDirection = ADC_SCAN_DIRECTION_UPWARD;
AdcHandle.Init.DataAlign = ADC_DATAALIGN_RIGHT;
AdcHandle.Init.ContinuousConvMode = ENABLE;
AdcHandle.Init.DiscontinuousConvMode = DISABLE;
AdcHandle.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIG_EDGE_NONE;
AdcHandle.Init.EOCSelection = EOC_SINGLE_CONV;
AdcHandle.Init.DMAContinuousRequests = ENABLE;
HAL_ADC_Init(&AdcHandle);
HAL_ADCEx_Calibration_Start(&AdcHandle, ADC_SINGLE_ENDED) ;
sConfig.Channel = ADC_CHANNEL_0;
HAL_ADC_ConfigChannel(&AdcHandle, &sConfig);
HAL_ADC_Start_DMA(&AdcHandle, &aResultDMA, 1);
例程如上,我想再增加ADC_CHANNEL_1,ADC_CHANNEL_2;
改如何设置呢
能否具体说一下,我不是很明白