
什么是ADC? ADC是模数转换器(Analog-to-Digital Converter)的缩写,它是一种将模拟信号转换为数字信号的设备。在嵌入式系统中,ADC常用于将传感器产生的模拟信号转换为数字信号,以便微控制器进行处理。 ADC是非常常用的器件,所以应该学会如何使用。 ![]() STM32中的ADC STM32微控制器系列是由STMicroelectronics推出的一系列32位ARM Cortex-M处理器的嵌入式系统。STM32系列通常配备了内置的ADC单元,使其能够轻松地进行模拟信号的数字化转换。 ![]() STM32 ADC的主要特点 1.多通道: STM32 ADC通常具有多个通道,允许同时转换多个模拟信号。每个通道可以连接到不同的传感器或电压源。 2.分辨率: 分辨率表示ADC能够将模拟信号分成多少个离散的步骤。常见的分辨率有12位和16位,分辨率越高,转换精度越高。 3.采样速率: 采样速率是ADC每秒对模拟信号进行转换的次数。STM32 ADC通常具有可调节的采样速率,允许根据应用的要求进行优化。 4.触发模式: ADC可以通过软件或外部触发启动转换。这使得可以根据需要灵活地控制转换的时机。 CubeMX初始化 其实STM32的ADC可以分为单通道与多通道两种。 单通道即使用一个IO来实现ADC,多通道也顾名思义,使用多个通道ADC时如何处理。 单通道ADC配置图片 ![]() 在CubeMX中选择好对应的芯片,配置好时钟,开启串口方便调试。 ![]() 选择具有ADC功能的IO,点击开启ADC。 ADC设置 ![]() 设置ADC的模式,单通道的话大部分都不用改。 然后就可以生成我们的工程了。 代码配置
在Uart.c中重定向我们的串口,方便使用Printf函数。
![]() 可以看到我们实现了单通道ADC。 多通道ADC 多通道ADC,我们使用多通道间断模式 ![]() 开启多个ADC通道。 ![]() 这里必须使能扫描模式和间断模式 ![]() 通道数设置为3,顺序为12,13,14.
这样子ADC返回的值就是按照通道顺序而定。 ![]() 可以看到,可以读到ADC的值并打印了出来 转载自: 电路小白 如有侵权请联系删除 |
【STM32C0测评】Nucleo-C092开发板驱动DS1302实验
【ST云实验室先锋计划】兔哥的IO-LINK 云上体验
拷打cubemx【003】——找不到的芯片包
新版STM32Cube for Visual Studio Code开发体验
【STM32N6570-DK评测】3.CubeMX关于DCMIPP和CSI的BUG整理及摄像头使用
经验分享常被误解的开、关总中断
【STM32C0测评】Nucleo-C092开发板功耗测试
【STM32C0测评】Nucleo-C092开发板IIC通信测试(硬件IIC)
【STM32C0测评】Nucleo-C092开发板IIC通信测试(软件IIC)
【STM32C0测评】Nucleo-C092开发板IIC通信测试(硬件软件IIC一网打尽)