|
什么是ADC? ADC是模数转换器(Analog-to-Digital Converter)的缩写,它是一种将模拟信号转换为数字信号的设备。在嵌入式系统中,ADC常用于将传感器产生的模拟信号转换为数字信号,以便微控制器进行处理。/ ^9 X- N& y, l) t1 g7 \5 X ADC是非常常用的器件,所以应该学会如何使用。
! p! f- Z% J: R$ Y8 n5 B5 X % s3 n: E2 ~# E% O' s" E4 d! b9 w+ w% h & V4 N" j+ i3 l( b STM32中的ADC) y) Y+ |& a# i6 }5 Y STM32微控制器系列是由STMicroelectronics推出的一系列32位ARM Cortex-M处理器的嵌入式系统。STM32系列通常配备了内置的ADC单元,使其能够轻松地进行模拟信号的数字化转换。$ C. A. c( ]! w" b . k+ K; q8 U3 {) [& m
STM32 ADC的主要特点 1.多通道: STM32 ADC通常具有多个通道,允许同时转换多个模拟信号。每个通道可以连接到不同的传感器或电压源。 \; T$ o6 p# x) p8 G2 u$ E2 v ; o9 k7 O3 U; N& P) \' ? 2.分辨率: 分辨率表示ADC能够将模拟信号分成多少个离散的步骤。常见的分辨率有12位和16位,分辨率越高,转换精度越高。0 E6 K, M4 r/ m- p- y3 u* C 3.采样速率: 采样速率是ADC每秒对模拟信号进行转换的次数。STM32 ADC通常具有可调节的采样速率,允许根据应用的要求进行优化。 # w0 @& b7 h4 ?6 m. H 6 {! Q% |- q D" c 4.触发模式: ADC可以通过软件或外部触发启动转换。这使得可以根据需要灵活地控制转换的时机。 CubeMX初始化5 @' {1 g" }! Y! U* p2 ` 其实STM32的ADC可以分为单通道与多通道两种。 单通道即使用一个IO来实现ADC,多通道也顾名思义,使用多个通道ADC时如何处理。 $ c f0 e7 F4 ?1 [( @5 ]4 X" a 8 i1 F: z) N) i. ^( A4 m5 b 单通道ADC配置图片 l; e- ^+ |: ~( d
7 C% R$ i- C. G! l: [ ) a& A. }/ t* G) a* n & m& p+ q1 ?- D- \* g2 k$ C% M: v 在CubeMX中选择好对应的芯片,配置好时钟,开启串口方便调试。( p [) ]3 b% f. r' z
选择具有ADC功能的IO,点击开启ADC。8 U- n+ \- a7 p8 B , L2 J! D) ]. I+ O1 N ADC设置/ G, M1 @, C& ~% F3 T4 Q- x * ^# W: Q5 Q% X# G
/ G4 s0 P# d1 U" T8 {) d3 } 设置ADC的模式,单通道的话大部分都不用改。 然后就可以生成我们的工程了。 代码配置
在Uart.c中重定向我们的串口,方便使用Printf函数。
/ J7 J" H: v) ] 4 f2 ~2 l+ Q# u" h# p 可以看到我们实现了单通道ADC。 8 P& O% C; \9 ]3 E2 ^. O 多通道ADC 多通道ADC,我们使用多通道间断模式
* X8 h' U B9 V 3 h/ q1 f4 w- J2 _6 i3 E 开启多个ADC通道。 & D2 L: @( d* ~& M+ o
" V- T0 A* H/ o0 F( x1 G - v# O9 [% O/ ?3 t# @/ X 8 M9 y8 {2 |7 P( c- J$ k4 U 这里必须使能扫描模式和间断模式 ) k; r. U* t& g, h
1 T' m2 _) r8 c$ ?( ^& O 9 I2 P I' [6 u R$ X" N 通道数设置为3,顺序为12,13,14.
这样子ADC返回的值就是按照通道顺序而定。5 i/ C ]+ A& g9 o3 ]/ X9 N % k/ Y. a/ w( c5 Q+ I3 z/ L
7 l0 W0 v" O# [1 N$ O+ } 6 L* G! f7 o/ x! e! U : ^5 }) Y; X* b: J5 o* W5 w" n 可以看到,可以读到ADC的值并打印了出来: h" d7 u4 o+ q! e1 D" L $ g0 N; x4 O# G/ G7 v1 W 7 t+ @) ]) r% V6 Q4 a$ O- l 转载自: 电路小白! Y6 Q( }* v/ c3 O 如有侵权请联系删除. J8 ^! W# G; ~$ M3 n( \7 p5 L9 i+ e ; U- M1 U$ m- w |
【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新版本发布
微信公众号
手机版