文章目录

  • 0、前言
  • 1、CubeMX配置
  • 2、软件设计

  下载工程文件:
  https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm32-l151-c8-t6
  MCU:STM32L151C8T6-A
  IDE:MDK-Keil5
  固件库:STM32Cube FW_L1 V1.10.2


0、前言

  本篇博文不再对ADC基本结构做赘述有想了解的戳这里。这里将侧重于CubeMX上的ADC配置过程及使用注意事项。


1、CubeMX配置

▲CubeMX RCC配置

▲CubeMX SYS配置

▲CubeMX 时钟树配置

▲CubeMX ADC配置

  值得注意的是STM32L151的ADC频率在VREF += VDDA时频率不能超过16MHz

▲STM32L151DataSheet Table 53. ADC clock frequency


2、软件设计

  关于串口配置在这里不做赘述有需求的同学戳这里。实验实现读取ADCIN21引脚即PB15引脚和GND之间的电压值。

  /* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */HAL_ADC_Start(&hadc);                 //启动ADC单次转换HAL_ADC_PollForConversion(&hadc, 50);    //等待ADC转换完成,50ms超时时间BATVal = HAL_ADC_GetValue(&hadc); //读取ADC转换数据printf("BATVal = %.4fV\n", BATVal/4096*3.3*2);//因采用分压电阻和参考电阻阻值为1:1所以计算值乘以2HAL_Delay(500);}/* USER CODE END 3 */

函数及宏定义介绍:
HAL_StatusTypeDef HAL_ADC_PollForConversion
说明: ADC数据定期转换完成。
参数:
  hadc: 指向包含指定ADC配置信息的ADC_HandleTypeDef结构的指针。
  Timeout: 超时值为毫秒。
返回值:HAL status
注意事项:
   此函数清除ADC转换标志EOS(序列结束)和EOC(转换结束。
   此函数不能用于特定的设置:ADC配置为DMA模式,并轮询每个转换结束(ADC init参数“EOCS选择”设置为ADC_EOC_SINGLE_CONV)。 在这种情况下,DMA重置标志EOC,并且不能对每个转换执行轮询。 然而,轮询仍然可以在完整的序列上执行。


【STM32】【STM32CubeMX】STM32CubeMX的使用之九:ADC相关推荐

  1. 【STM32】STM32CUBEMX + ADC(单通道,双通道DMA)

    STM32CUBEMX + ADC(单通道,双通道DMA) 案例应用 :使用ADC采集电压(单通道.单通道+DMA.双通道+DMA),并利用串口打印采集转换后的电压值 1.工具 IAR STM32CU ...

  2. STM32利用STM32CubeMX驱动SDRAM

    STM32利用STM32CubeMX驱动SDRAM 本次发布FMC总线驱动SDRAM的博客,为下次发布LTDC外设驱动RGB屏的博客做准备.利用STM32CubeMX和HAL库,生成的工程代码具有很强 ...

  3. STM32开发(14)----CubeMX配置ADC

    CubeMX配置ADC 前言 一.什么是ADC? 二.实验过程 1.单通道ADC采集 STM32CubeMX配置 代码实现 2.多通道ADC采样(非DMA) STM32CubeMX配置 代码实现 3. ...

  4. STM32学习笔记(八)丨ADC模数转换器(ADC单、双通道转换)

    本篇文章包含的内容 一.ADC 模数转换器 1.1 ADC简介 1.2 逐次逼近型ADC工作原理 1.3 STM32中的ADC基本结构 1.4 STM32中ADC的输入通道 1.5 STM32中的AD ...

  5. STM32学习笔记(13)——模数转换ADC

    这个月一直忙于准备考试,已经考完一半科目了,偷闲写了这篇文章.因为还没考完试,估计还得咕一段时间了. STM32学习笔记(13)--模数转换ADC 第一部分:ADC功能框图 一.输入电压 二.输入通道 ...

  6. 【STM32】HAL库 STM32CubeMX教程九---ADC

    前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1.芯片: STM32F407ZET6/ STM32F103ZET6 ...

  7. 【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

    前言 在配置好CubeMX之后,就是新建工程的开始了,那么首先我们需要一些准备,本片博客我们会很详细的介绍STM32CubeMx的基本使用和如何创建一个新的工程并且点亮LED灯  面向初学者   如果 ...

  8. STM32使用stm32cubemx LL库系列教程

    使用stn32cubemx配置LL库例程 STM32LL库系列教程--LL库工程配置流程 STM32LL库系列教程[一]--安装CubeMx软件 STM32LL库系列教程[二]--点亮LED小灯 ST ...

  9. 基于STM32安装Stm32CubeMX,配合Keil完成LED流水灯和USART串口通讯程序,及其管脚的时序波形观察

    目录 一.使用HAL库完成LED流水灯 (一).用STM32CUBEMX生成工程文件 (二).用Keil仿真调试并生成hex文件 (三).用STM32串口烧录程序 (四).实物连接 二.使用HAL库完 ...

  10. 【STM32】STM32CubeMX教程--功能介绍

    功能介绍: 我们首先看下CubeMx的主界面,模块分类大体是这样,我们接下来一一讲解. 已存在工程 Open Existing Projects:打开项目工程 新建工程 ·Start My proje ...

最新文章

  1. jsp和servlet开发过程中参数传递乱码问题总结
  2. qt-designer使用教程3--编写自己的槽
  3. Java @override报错的解决方法 .
  4. cad批量偏移_永远都不会卸载的几款CAD插件,月入过万不要太轻松。
  5. debug模式不报错,release模式报错
  6. php简单多态,PHP 对象 多态性 简单图形计算器
  7. python保存表情包_用Python一键保存半佛仙人所有的骚气表情包
  8. 科研写作——常见句式(三)
  9. 错误 1 error MSB4062: 未能从程序集 C:\caffe\NugetPackages\OpenCV.2.4.10\buil
  10. Pandas详解十之Dropna滤除缺失数据
  11. cad快看_苹果用户福音——CAD快速看图mac版来啦
  12. 天气爬虫网站(flask+sqlite3+selenium+echarts)
  13. 暑假好看的日剧来啦~~
  14. js实现鼠标移入移出改变图片路径问题
  15. flink cdc笔记(二):flink cdc的两种开发方式
  16. 学习linux的书籍
  17. excel mysql 参数查询语句_如何用SQL语句查询Excel数据
  18. 0x00说说对SPA的理解?
  19. 直播电商软件开发,圆形旋转动画
  20. C++设计模式——观察者模式

热门文章

  1. 特殊年份(java)
  2. 静态方法中调用spring容器中的对象
  3. 使用py2neo构建neo4j图模型小demo
  4. Linux screen命令与后台执行任何程序
  5. php如何跟踪调试,PHP使用debug_backtrace方法跟踪调试代码调用详解
  6. 非结构化文件转移服务器,非结构化数据存储管理方法,服务器和系统 Unstructured data storage management method, and a system server...
  7. 动态类型语言和静态类型语言
  8. centos 7 一键安装gitlab
  9. select自定义下拉选择图标
  10. 使用SQL命令行更改数据库字段类型