【STM32F4】HAL库 CubeMX(十四) 您所在的位置:网站首页 月季配土用稻壳好吗 【STM32F4】HAL库 CubeMX(十四)

【STM32F4】HAL库 CubeMX(十四)

2023-12-07 22:06| 来源: 网络整理| 查看: 265

文章目录 前言一、ADC是什么?二、ADC实验1.实验所需配置功能2.功能配置3.时钟配置4.生成代码 总结

前言

STM32F4xx 系列一般都有 3 个 ADC,这些 ADC 可以独立使用,也可以使用双重/三重模式(提高采样率)。STM32F4 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 19 个通道,可测量 16 个外部源、2 个内部源和 Vbat 通道的信号。这些通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。

一、ADC是什么?

STM32F407ZGT6 包含有 3 个 ADC。STM32F4 的 ADC 最大的转换速率为 2.4Mhz,也就是转换时间为 0.41us(在 ADCCLK=36M,采样周期为 3 个 ADC 时钟下得到),不要让 ADC 的时钟超过 36M,否则将导致结果准确度下降。 STM32F4 将 ADC 的转换分为 2 个通道组:规则通道组和注入通道组。规则通道相当于你正常运行的程序,而注入通道呢,就相当于中断。在你程序正常执行的时候,中断是可以打断你的执行的。同这个类似,注入通道的转换可以打断规则通道的转换, 在注入通道被转换完成之后,规则通道才得以继续转换。

二、ADC实验 1.实验所需配置功能

1、ADC1的通道5(PA5) 2、串口发送电压值(可用LCD显示或者OLED显示)

2.功能配置

1、选择ADC1,通道5并且配置PA5的模式。 在这里插入图片描述 在这里插入图片描述 2、配置ADC1的相关参数(初学阶段可以看着原子的配置一一配置) 在这里插入图片描述 在这里插入图片描述 3、配置串口(如有不懂的请看串口那一节,此处不配置)

3.时钟配置

RCC时钟配置如前文一样(此处一般情况是不变的)。 【STM32F4】HAL库 CubeMX(一)--------创建工程(点亮LED)

4.生成代码

在这里插入图片描述

uint16_t ADC_Value;

在这里插入图片描述

HAL_ADC_Start(&hadc1); HAL_ADC_PollForConversion(&hadc1, 50); if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC)) { ADC_Value = HAL_ADC_GetValue(&hadc1); printf("PA5 True Voltage value : %.4f \r\n",ADC_Value*3.3f/4096); HAL_Delay(500); }

代码注释就不写了(太难打了),大家可以对应库函数实验代码进行理解。有问题也可以在评论里提出来。一起解决,如果以上有误请提出来,谢谢

总结

大家可以试试其他ADC和通道,也可以获取指定引脚的电压转换值哦。 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有