|
什么是ADC? ADC是模数转换器(Analog-to-Digital Converter)的缩写,它是一种将模拟信号转换为数字信号的设备。在嵌入式系统中,ADC常用于将传感器产生的模拟信号转换为数字信号,以便微控制器进行处理。 3 M, |0 }0 O4 E$ \ ADC是非常常用的器件,所以应该学会如何使用。, r8 B: u( Q# z! U$ f ' p- x( [5 ~& a- O
F) K' P' u* q , a) M" I. i3 R0 {$ ^8 T, [ STM32中的ADC STM32微控制器系列是由STMicroelectronics推出的一系列32位ARM Cortex-M处理器的嵌入式系统。STM32系列通常配备了内置的ADC单元,使其能够轻松地进行模拟信号的数字化转换。: b0 g d: }: M; o4 J+ R+ N , p* [0 x& R, u+ d4 C+ `1 q
4 E6 G9 c+ ^, A& K; g% h, _/ h" ^ $ [) m X- X0 W7 C3 a6 ^$ X) ^ STM32 ADC的主要特点- ? k% i6 M1 e 1.多通道: STM32 ADC通常具有多个通道,允许同时转换多个模拟信号。每个通道可以连接到不同的传感器或电压源。9 h/ ]2 |4 k8 x8 W7 x 2.分辨率: 分辨率表示ADC能够将模拟信号分成多少个离散的步骤。常见的分辨率有12位和16位,分辨率越高,转换精度越高。 - t0 z" H7 S" h5 Z 3.采样速率: 采样速率是ADC每秒对模拟信号进行转换的次数。STM32 ADC通常具有可调节的采样速率,允许根据应用的要求进行优化。 4.触发模式: ADC可以通过软件或外部触发启动转换。这使得可以根据需要灵活地控制转换的时机。 CubeMX初始化 其实STM32的ADC可以分为单通道与多通道两种。 单通道即使用一个IO来实现ADC,多通道也顾名思义,使用多个通道ADC时如何处理。 " `/ `3 ~0 C5 d; F+ H: A 7 H5 N' A/ c: D1 E5 b: b 单通道ADC配置图片 9 t, g+ t, }" q0 S2 _9 q$ A: W
9 T+ K0 h$ ~8 k1 \; R& ^* ]/ i 在CubeMX中选择好对应的芯片,配置好时钟,开启串口方便调试。
/ [ _' i" E) d: u i9 J; Z2 F % ^: G3 |) A' [, _$ j 选择具有ADC功能的IO,点击开启ADC。& v" l' G5 @- a' ]0 _ ADC设置; _* t" j! y B+ t$ v& x4 d9 {
0 E) d9 O, {- r% A' z4 i 设置ADC的模式,单通道的话大部分都不用改。7 h5 f5 N% e7 I; I+ z) m 然后就可以生成我们的工程了。5 `- A3 ]9 t7 `! o3 G% p* @! X4 @ 6 w8 A. {5 @7 X4 G) u 代码配置
在Uart.c中重定向我们的串口,方便使用Printf函数。# J1 u& D2 K, s8 v- ]
& Z. u/ v* t `" {; h2 R3 q ( a8 S0 h, O" ^1 K! z0 B ' T# k8 G* Q$ p0 M 可以看到我们实现了单通道ADC。8 N4 E/ P- P4 W3 \ 7 r+ q6 R; X; W$ i- m3 R k 多通道ADC 多通道ADC,我们使用多通道间断模式 / K1 o p0 K1 x, _" i) ~
( h4 z- |! D) M/ U % L# }! N' p% |. \ 开启多个ADC通道。 ) R( Z7 x. o- F. C' s: E9 R
3 B; W8 O9 {1 t [6 _" {- i Y . I) B& G2 b* _ 4 U& }; g |/ K' s8 z 这里必须使能扫描模式和间断模式 2 m$ Z; J" q- ^, F' L$ @
7 p3 z% K1 X* _: Q: e& s9 r 通道数设置为3,顺序为12,13,14.
这样子ADC返回的值就是按照通道顺序而定。 " P. T/ Y2 Z: w
! d- M& c6 G( [! R/ V2 \3 v 可以看到,可以读到ADC的值并打印了出来1 q6 S1 e9 o3 e, Q % m0 r. d' R6 G- ~- S0 [1 u 9 l6 p& P; _- i- b 转载自: 电路小白& G# K* h% J- ^ 如有侵权请联系删除 ; K: V; i' J" i; M1 h4 _ ' `) k/ z, W5 d/ V |
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】NUCLEO-H5E5ZJ 使用 TrustZone 安全分区系统实践测试
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】介绍、环境搭建、工程测试
#双节活动 1.在CubeMX中引用touchGFX出现的问题与解决
如何将STM32CubeMX生成的CMake工程导入STM32CubeIDE
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
STM32CubeMX 6.18.0新版本发布
微信公众号
手机版