STM32之STM32CubeMX配置ADC

公众号:嵌入式不难

本文仅供参考学习,如有错误之处,欢迎留言指正。

一、配置项

  • 此处直接附上一张配置图,解析处会分别对各项进行解析
    在这里插入图片描述

二、配置项解析

1.Clock Prescaler

  • 此项不用多说,选择提供给ADC采集的时钟,这个时钟直接影响功耗,最大采样速度等,不用取得过高,也不要取得过低,在实际采样需求上留一定余地即可。

2.Resolution

  • 此项配置采样位数-当然是位数越高精度越高了

3.Data Alignment

  • 此项配置数据对齐方式,一般采用右对齐即可

4.Scan Conversion Mode

  • 此项的含义为,扫描转换模式,字面意思也就是它的本意。意图为指明ADC模块是转换的单通道还是多通道,你会发现这个参数不是自由可选的,此例的值为Enabled,那是因为这个参数直接由13参数的值影响,当13参数大于1时,此项自动使能,表示ADC模块工作在多通道扫描转换模式下,至于是通过什么样的方式来扫描转换的,又会通过其他的参数来说明。当13参数为1的时候,此项的值自动变为Disabled,表示只有一个通道。

5.Continuous Conversion Mode

  • 细心的人会发现5项和6项一个为Continuous Conversion Mode一个为Discontinuous Conversion Mode明明就是对立的两个参数的嘛,一个允许了难道另外一个还能允许,那么ADC模块该怎么识别啊。确实可以肯定的是两个参数确定是对立关系,但是却表示了不同的含义。下面我们开始解析,5参数Continuous Conversion Mode表示ADC触发一次转换后ADC模块是开启单次转换还是持续转换,对应于寄存器为ADC_CFGR中的CONT位。需特别注意的是:在配置了规则通道采样通道大于1的情况下,单次转换指的意思是触发一次转换后,ADC模块会转换把所有通道按次序转换一次。而循环转换的意思是触发一次后开始按次序马不停蹄的转换所有通道。下图可参考。

在这里插入图片描述

6.Discontinuous Conversion Mode

  • 通过上面参数5的学习,我们就又有更大的疑问了,我又可以单通道单次转换,又可以单通道连续转换,又可以多通道单次转换,又可以多通道连续转换。我们不是什么情况都可以适应了吗?其实不然,ST公司想的比我们更加周到,比如说你配置16个通道,是这样配置的1-2-3-4-1-5-6-4-1-7-8-4-1-9-10-4,某一时刻,你只需要4个通道的值,单通道转换不现实,多通道转换又浪费资源;又比如你想采集单通道数据,需要采集8次,如果开启单通道连续转换,那么太浪费资源了,如果开启单通道单次转换,那么又需要出发8次才行,怎么都不理想。所以ST又给你提供了另外一种方式,那就是此处的间断采集。此位对应于寄存器为ADC_CFGR中的DISCEN位,此位不能和CONT位同时使能。这个配置使能后的作用为ADC触发一次转换后ADC模块会按次序采集m个通道共n次的数据。这样就大大的节省了软件开销。下图可参考。
    在这里插入图片描述

7.DMA Continuous Requests

  • 如果采用了DMA方式获取数据,那么这个配置就是及其重要的一个配置了,此项对应于寄存器的位为ADC_CFGR中的DMACFG位。如果开启了DMA传输方式,这哥们在ADC模块中的地位可以说是相当的高了。当此位为1时,DMA传送开启循环模式,除了溢出以外,每一个ADC采集的ADC数据都会产生一个DMA请求。特别注意的是当此位为0的情况下,DMA传送开启的是单次模式,首先,我们需明白一点,在开启DMA前,我们已经实现告诉DMA我们这次会传送多少数据,假设为n个数据,这个时候当n个数据都传送到目的地后,这个配置就会发挥它强大的作用。它说因为我是老大,所以都得听我的,这次传送数据已经完毕了,我不管你是单通道,多通道采集还是单次,连续还是间断模式,我为了不让你的ADC模块再次产生DMA请求,我只好把ADC模块给关了,也就是ADSTART置为0。这下ADC就不能采集了,要想再次开启采集,那就必须再次开启ADC模块,也就是再次将ADSTART置为1。

8.End Of Conversion Mode

  • 此项暂时未深究,不做评判

9.Overrun behaviour

  • 此项指明溢出错误时,ADC_DR是保持溢出时未传送出去的数据还是保持最新采集的数据。

10.Low Power Auto Wait

  • 此项指明规则采样自动延时使能或失能,开启自动延时后,ADC模块采集完一次数据后会一直等到此次数据被取走才开始下一次的ADC采集。所以要慎重开启自动延时。

11.Enable Regular Conversions

  • 此项使能或失能规则通道采样

12.Enable Regular Oversampling

  • 此项使能或失能规则通道过采样

13.Number Of Conversion

  • 此项说明规则采样的总通道数

14.External Trigger Conversion Source

  • 此项选择触发源触发采样

15.External Trigger Conversion Edge

  • 此项选择触发源触发边沿
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值