历史上的今天
返回首页

历史上的今天

今天是:2025年02月20日(星期四)

正在发生

2020年02月20日 | stm32cubemx 多路adc采集

2020-02-20 来源:eefocus

采用的软件是STM32CUBEMX+KEIL5

硬件为stm32F103C8T6

我与原文作者做的区别在于

External Trigger Conversion Edge,我在进行配置的时间没有None选项,我选择的是默认的Regular Conversion launched by software


原文地址:

http://www.eemaker.com/stm32cubemxadc.html


实现功能:stm32cubeMX配置ADC多通道采集(非dma和中断方式)


Stm32ADC的转换模式还是很灵活,很强大,模式种类很多,那么这也导致很多人使用的时候没细心研究参考手册的情况下容易混淆。不知道该用哪种方式来实现自己想要的功能。网上也可以搜到很多资料,但是大部分是针对之前老版本的标准库的。昨天帮客户解决这个问题,正好做个总结:使用stm32cubeMX配置生成多通道采集的例子。


软件:stm32cubemx    MDK

硬件:eemaker板(基于stm32F103c8的)

在百度搜索ADC多通道采集,大部分的都是基于采用dma模式才实现的。而我讲的使用非dma方法。首先有几个概念要搞清楚:

扫描模式(想采集多通道必须开启):是一次对所选中的通道进行转换,比如开了ch0,ch1,ch4,ch5。Ch0转换完以后就会自动转换通道0,1,4,5直到转换完。但是这种连续性并不是不能被打断。这就引入了间断模式,可以说是对扫描模式的一种补充。它可以把0,1,4,5这四个通道进行分组。可以分成0,1一组,4,5一组。也可以每个通道配置为一组。这样每一组转换之前都需要先触发一次。


Stm32 ADC的单次模式和连续模式。这两中模式的概念是相对应的。这里的单次模式并不是指一个通道。假如你同时开了ch0,ch1,ch4,ch5这四个通道。单次模式转换模式下会把这四个通道采集一边就停止了。而连续模式就是这四个通道转换完以后再循环过来再从ch0开始。


另外还有规则组和注入组的概念,因为我这个例程只用到了规则组,就不多介绍这两个概念,想要弄清楚请自行查阅手册。


下面进入正题,配置stm32cubeMX。

Stm32cubeMx配置ADC多通道采集

先使能几个通道,我这里设置为0、1、4、5.

然后就要配置ADC的参数:

Stm32cubeMx配置ADC多通道采集

目前经过我的测试,要想用非dma和中断模式只有这样配置可以正确进行多通道转换:扫描模式+单次转换模式+间断转换模式(每个间断组一个通道)。


分析配置成这样的模式,扫描模式是在配置为多个通道必须打开的,stm32cubeMX上也默认好了,只能enable。单次转换模式是我不需要不停的去采集每个通道值,而是把四个通道采集完以后就让它停止。这里间断配置是关键,间断模式可以让扫描的四个通道进行分成四个组,stm32cubeMX参数里面number of Discontinous Conversions是配置间断组每个组有几个通道的,这里必须配置为1(否则在获取ad值得时候只能读取到每个间断组最后一个通道)。


生成mdk工程代码。这时候还没有完成,只是实现了ADC的初始化,需要采集这四个通道值得函数还要自己写。下面这个是我main函数的while循环:


for(i=1;i<5;i++)


{


HAL_ADC_Start(&hadc1);


HAL_ADC_PollForConversion(&hadc1,0xffff);


adcBuf[i]=HAL_ADC_GetValue(&hadc1);


printf("------ch:%d--%d-------rn",i,adcBuf[i]);


}


HAL_ADC_Stop(&hadc1);


HAL_Delay(1000);


调用hal库接口函数也需要注意,HAL_ADC_Start一定要放在for里面,即每一个通道都要触发。四个通道都采集完了,再去调用HAL_ADC_Stop(&hadc1);结束本次ADC采集。

最后说下,这个是针对stm32F103系列的芯片,其他型号的配置可能略有不同,大体思路一样。

推荐阅读

史海拾趣

富之光(Fujicon)公司的发展小趣事

富致科技的研发团队最早可以追溯到1997年,当时一群在电子、材料、化工领域拥有深厚背景的专家聚集在一起,共同探索高分子正温度系数PPTC技术的可能性。随着技术的不断成熟,他们于1999年12月正式成立了富致科技股份有限公司,将研发成果转化为实际产品,并迅速在台湾新北市五股工业园区建立了生产基地。这一初期的技术积累和团队组建,为富致科技后续的发展奠定了坚实的基础。

Cystech公司的发展小趣事

为了进一步拓展全球市场,C-TECH Co., Ltd在2009年相继成立了香港分公司和中国(深圳)分公司。通过这两家分公司,公司能够更好地了解当地市场需求,提供更加贴近客户的服务。同时,公司还积极参加国际电子展会,与国际同行交流合作,不断提升自身的品牌影响力和市场竞争力。在国际化战略的推动下,C-TECH Co., Ltd的海外市场不断拓展,为公司的发展注入了新的动力。

FEIG ELECTRONIC公司的发展小趣事

Digi-Key作为全球知名的电子元器件分销商,与FEIG ELECTRONIC建立了长期稳定的合作关系。通过这一合作,Digi-Key为FEIG提供了全球范围内的分销服务,将FEIG的产品推向了更广阔的市场。同时,Digi-Key还为FEIG的产品提供了专业的技术支持和售后服务,进一步巩固了FEIG在RFID领域的领先地位。

CSB公司的发展小趣事

在竞争激烈的电子行业中,成本控制是企业生存和发展的关键。CSB公司深知这一点,因此在供应链管理和成本控制方面下足了功夫。公司通过与供应商建立长期合作关系、优化采购流程、提高生产效率等方式,有效降低了生产成本。同时,公司还注重库存管理和物流配送的优化,确保产品能够及时、准确地送达客户手中。

ARBOR公司的发展小趣事

随着环保意识的日益增强,ARBOR公司积极响应国家号召,致力于绿色电子产品的研发和生产。公司投入大量资金研发环保材料和技术,成功推出了一系列绿色电子产品。这些产品不仅具有优异的性能,还符合环保标准,得到了消费者的广泛认可。ARBOR公司的绿色环保理念也为整个电子行业树立了榜样。

Hamlin ( Littelfuse )公司的发展小趣事

ARBOR公司一直致力于电子技术的研发与创新。在某个时期,公司研发团队成功开发出一款具有颠覆性的电路板技术,这项技术在信号传输速度和稳定性上实现了重大突破。凭借这一技术,ARBOR公司迅速占领了高端电子市场,成为行业内的技术领导者。公司股价随之飙升,吸引了大量投资者的关注。

问答坊 | AI 解惑

摄像机部件中英文对照

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 是呀 希望大家能够多多完善 …

查看全部问答>

图说微电子最前沿:最好的绝缘介质是什么?-就是什么介质都没有

在集成电路中,将晶体管连接起来的是导线(如图中褐色的是铜线),将导线隔离起来的是绝缘介质(图中绿色部分就是最普遍采用的绝缘介质二氧化硅)。随着集成电路工作频率的提升以及导线之间间距的不断缩小,导线之间寄生电容对电路性能的影响越来 ...…

查看全部问答>

串行通信接口典型应用举例

串行通信接口典型应用举例…

查看全部问答>

CDMA模块哪种比较好呢?价格低一些

老板准备买个CDMA Modem,用来发短信…

查看全部问答>

关于用超级终端AT命令读取诺基亚手机短信的问题

   请问诺基亚5200通过蓝牙驱动IVT BlueSoleil与电脑连接,并打开蓝牙串行端口服务。然后在PC机上的超级终端里面连接到此手机蓝牙串口,并可以发送AT命令,但是奇怪的是,发AT可以返回OK,也可以发一些查询型号的AT命令,都有返回。但是 ...…

查看全部问答>

有没有作过取交流同步信号的朋友

本人现在需要做一个LED控制方案,需要采样交流信号做同步处理,不知道有没有哪位朋友能够提供具体的思路…

查看全部问答>

taskSpawn( )的详解

尤其是1st of 10 req\'d task args to pass to func ,就是最后输入参数的10个有什么作用,刚看了英语解释,不是很懂,谢谢…

查看全部问答>

抗干扰的声控开关电路图

如图所示为抗干扰声控开关电路。该电路由话筒S、选频放大器、单稳整形电路IC1、信号存储器IC2a与IC2b、可控硅交流开关SCR及脉冲清零电路IC4等组成。 电路中BG1为9014或3DG4M、3DG201、3DG401、3DG8A和3DG88等。BG2、BG3选用3DG12或3DG130。IC1、I ...…

查看全部问答>

LED 照明的电源拓扑结构

现任TI 应用工程师兼科技委员会高级会员John Betten和现任 TI 高级应用经理兼科技委员会资深成员Robert Kollman 详尽讨论了适用于驱动 LED 和进行 LED 调光的各种开关电源拓扑,并告诉你这些电源的相关优点。与君共享。…

查看全部问答>

STM32一定要集成NetPHY吗?

为什么一定要集成PHY呢?难道嵌入式系统就一定要集成PHY?集成PHY有其好处亦有其坏处,好处无非就是total cost,集成度等方面有优势,坏处其实也不少:1.无法满足某些安规标准,有些场合是需要光耦隔离的,这个时候就不能用了;2.增加芯 ...…

查看全部问答>