问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STM32 HAL库ADC单通道采集教程

创作时间:
作者:
@小白创作中心

STM32 HAL库ADC单通道采集教程

引用
CSDN
1.
https://blog.csdn.net/weixin_59460936/article/details/140967425

本文将介绍如何使用STM32 HAL库进行ADC(模数转换)单通道采集。具体步骤如下:

  1. 系统设置(SYS)
  2. 选择外部高速晶振
  3. 选择ADC以及通道
  4. 配置相关参数
  • 独立模式
  • 数据右对齐
  • 软件触发
  • 选择规则组
  • 采样周期等

  1. 时钟树配置
  2. 使用code generator
  3. 保存生成代码

在main.c函数中实现ADC采集功能,具体代码如下:

HAL_ADC_Start(&hadc1);     //启动ADC转换
HAL_ADC_PollForConversion(&hadc1, 50);   //等待转换完成,50为最大等待时间,单位为ms

if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC))
{
   ADC_Value = HAL_ADC_GetValue(&hadc1);   //获取AD值
   printf("ADC1 = %d \n",ADC_Value);
   printf("True Voltage value : %.4f \r\n",ADC_Value*3.3f/4096);
   printf("zhuzhuzhuzhu\n");
}

实验现象

这里使用的是光敏传感器进行测试。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号