在学习Continuous Conversion Mode时,根据网上的例程和配置,我发现Continuous Conversion Mode ENABLE 和DISABLE输出结果好像没有区别。后来自己验证下来的结果,做个笔记

Continuous Conversion Mode:使能后,相比于单次转换模式,连续转换模式在打开ADC后一直转换。假如你单通道,在完成一次ADC转换后就停止了,而连续转换模式会一直转换,当你是多通道AN1 ,AN2,AN3,单次转换模式在把三个通道转换完一次后停止,而连续转换模式在转换完AN3后,会从新再次去转换。下面用个例程比较

例程一:

while (1)
        {
    /* USER CODE END WHILE */

/* USER CODE BEGIN 3 */
        HAL_ADC_Start(&hadc);
      HAL_ADC_PollForConversion(&hadc,50);//
             if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc), HAL_ADC_STATE_REG_EOC))
             {
                 value_adc=HAL_ADC_GetValue(&hadc);
                 voltage=(float)value_adc/4095*3.3*11;
                
                printf("%f\r\n",voltage);
                printf("%d\r\n",value_adc);
                    HAL_Delay(500);
             }

输出结果

输出结果:

留意此时ADC的值是在变化的,看着好像在连续的采样,但是你看程序,ADC的开启和等待转换的函数都是放在while()里的,我在网上查好像都是这样的例程。这时候你发现Continuous Conversion Mode选择ENABLE 和DISABLE没有区别。但是当你把  HAL_ADC_Start(&hadc);放到while()上面去,连续转换模式还是DISABLE,你就会发现此时ADC的值不变了,只是进行了一次转换.

其实就是转换了一次,printf函数一直在输出那次的ADC转换而已

此时,你把连续扫描模式ENABLE ,程序不动。你会发现ADC再次连续转换

此时的输出结果是连续转换的,但是我发现此时ADC的值偏大,后来研究一下是采用周期太短的问题。之前Continuous Conversion Mode DISABLE,在while里连续转换,它的真正采用周期并不是你设置的ADC采用周期,而是你while()的循环周期,你多久 循环一次就进行一次采用。当你Continuous Conversion Mode DISABLE ENABLE时,就是上面ADC偏大的那种情况,此时你把周期调长,就可以了.(此时 HAL_ADC_Start(&hadc)放在while里和while外都一样)

HAL ADC连续转换模式 Continuous Conversion Mode相关推荐

  1. STM8单片机ADC连续扫描模式

      当STM8单片机使用ADC功能读取多个通道的值时,可以使用连续模式,但是连续模式一次只能采样一个通道的值,那么如果要采样多个通道时怎么办呢?STM8提供了一个多通道连续采样扫描模式.也就是说多个通 ...

  2. STM8单片机ADC连续采样模式

     STM8S003单片机内部ADC为12位,A/D转换的各个通道可以执行单次和连续的转换模式.  单次转换模式的意思就是,ADC每次转换一次数据后,就会停止转换,如果还需要继续转换的话,就需要手动开启 ...

  3. 1.18.5.流式概念、动态表(Dynamic Table)、DataStream上的关系查询、动态表 连续查询(Continuous Query)、在流上定义表、处理时间

    1.18.5.流式概念 1.18.5.1.动态表(Dynamic Table) 1.18.5.1.1.DataStream上的关系查询 1.18.5.1.2.动态表 & 连续查询(Contin ...

  4. STM8S系列基于IAR开发单通道ADC连续采样示例

    STM8S系列基于IAR开发单通道ADC连续采样示例

  5. TI DSP 28335 ADC连续采样检测SPI控制的DAC输出 SCI串口232通信

    文章目录 前言 1 SCIA FIFO 串口通信配置 2 DAC 数模转换 配置 2.1 TLV5620芯片简介 2.2 TLV5620初始化函数 2.2 DAC 输出函数 3 ADC 模数转换 配置 ...

  6. stm32 adc 连续和扫描_技术分享 | STM32多个ADC模块同时采样转换的应用示例

    在STM32家族里,多数系列芯片内含2到3个ADC模块,有的甚至更多,比方G4系列可以有5个ADC模块.其中,通道数因不同的系列或型号多少不等,几个到几十个的都有.有时,我们可能需要多个ADC模块同时 ...

  7. 连续语音识别,continuous speech recognition,音标,读音,翻译,英文例句,英语词典

    补充资料:汉语语音识别分类 汉语语音识别分类 classification of Chinese speech recognition 一种方法是用一个经过良好训练的非特定人或上述特定分类的标准样板或 ...

  8. 连续复利 continuous compounding

    1. 利率的计算依赖于计算方式 example: 100美元,年利率10% 一年复利一次: 半年复利一次: 一季度复利一次: 2. 连续复利的推导 一般情况,数量为A的投资,共投资n年,一年复利m次, ...

  9. 电赛 | 电源题软件如何准备?

    关注.星标公众号,直达精彩内容 摘要:PWM和SPWM在电源的备战中是很有必要的.基础的恒流源.恒压源需要使用PWM的占空比及频率来达到数控的作用,往后的逆变则需要用到SPWM.当然还有ADC.DAC ...

最新文章

  1. 项目需求(20-30万)|人体三维动作重构
  2. Linux下SENDMAIL+OPENWEBMAIL(2)
  3. android 购物车小美的店,[转载]【小美教程】买菜累啊有木有?购物车用的购物袋教程来啦.........
  4. halcon从入门到精通pdf_机器视觉软件开发新人入门必看 --机器视觉软件开发学习路径...
  5. nginx php post限制,nginx + php 跨域问题,GET可以跨域成功,POST失败
  6. 一周内自动登录php,利用php实现一周之内自动登录存储机制(cookie、session、localStorage)...
  7. 基于JAVA+SpringBoot+Mybatis+MYSQL的美食分享网站
  8. 64位系统使用Access数据库文件的彻底解决方法
  9. 我叫金三顺的经典爱情名言
  10. Linux yum安装unrar、rar
  11. PKI加密体系加密过程及原理
  12. win10 中 ,python 创建虚拟化环境
  13. upgrade pip‘ command
  14. xshell 6+xftp 6卸载时出现1628错误解决办法
  15. 使用 CMake 解决编译出来的 so 文件过大的问题
  16. python爬虫工资高吗_月薪2万的爬虫工程师,Python需要学到什么程度?
  17. StarUML 3.2.2
  18. C++八股文分享---进程
  19. 关于Beyond Compare 4秘钥过期处理方法,百试不爽
  20. IDEA搭建简单的SSM(spring+springMVC+mybatis)框架

热门文章

  1. 软考专题模块:2014年下半年软件设计师考试上午试题
  2. 指针笔记(指针数组和指向数组的指针,数组中a和a的区别等)
  3. Android百度地图屏蔽油站,怎么用android百度地图api获取离当前位置最近的加油站...
  4. xmta温度控制仪说明书_【智能温控仪XMTA-908说明书】- 黄页88网
  5. easy-captcha实现验证码功能
  6. 在maven启动时tomcat端口冲突问题 Address already in use: JVM_Bind null:8080
  7. 微信小程序 php配置,微信小程序 教程之小程序配置
  8. Frida Hook与Fiddler完美抓包手淘
  9. 事物的传播特性以及事物的隔离界别
  10. 关于微信小程序获取头像和昵称