STMCU小助手
发布时间:2023-3-2 13:21
|
一、ADC相关概念 1、模拟电压输入(ADC)7 S! |/ s/ w( o9 d# W8 f! q - E$ M6 W( J) E* E. u
/ k6 G, Y* ^. W0 M6 @
多次采样把尖峰去掉:多次采样的用DMA的方式& ?3 ?& I( ?( _- J) b1 x! d 8 Q0 A: ?5 {, O8 Y3 V
) e6 S. ]$ W0 B8 L X7 r ) q1 H V1 [7 G l9 u 2、《产品手册》" z# Z$ t) D6 u1 J6 s/ g6 H , Z- P7 `( }0 M+ r4 V9 }
. d% E; e* C. c* L1 y8 H% I9 [ 由图可知,电位器R37的引脚是PB15;7 b8 y9 ~5 h! x v 3.、《微控制器参考手册》
% l/ @0 B/ n; p/ C$ L( B- Q | 一共有5个ADC ;+ q2 ]! B) c/ X 每个ADC由一个12位逐次逼近模数转换器组成。2的12次方是4096,精度就是4096分之1,滑动变阻器的范围是0~3.3v; * x2 Y B! E0 V+ x* c) ?8 `% y U4 j 每个ADC最多有19个多路通道;/ `: y$ @" H+ p$ s2 `! l + A. X0 R) {* g# K Q/ Q' g# u3 P 二、CubeMX配置2 [0 a% c0 B: @- Q$ @ 1、引脚PB15配置 $ x% o2 ^5 O3 _1 F
# R: {" M' i/ V- s0 ~ 2、# w, ~7 A% S% M+ D
3、设置中断---DMA采完样通过中断的方式告诉ADC已采完$ c8 ~" X3 H* K+ o( i* R6 q" D) H: X 9 X. y2 m- `! ~2 x
4、DMA设置7 v0 v! W+ T! M: F* Y3 M8 ^
buffer是16位的,正是2个字节 5、连续采样 * v. Q3 O# p' ~
6、最后generate code即可 r0 ^" L( h+ H1 @- f0 F! }3 _ , K* N* H2 O+ K& l . B: o% U( V+ |0 S. @* Y+ L/ k$ f 三、代码) i" D8 {3 ~2 X# Z- I; D' E4 i8 G HAL_ADC_Start_DMA(&hadc2,(uint32_t*)adc_buff,100);//允许DMA中断,连续采样100次一中断 (跟串口中断有点儿像)! |( g8 F; f6 k7 _ ———————————————— 版权声明:想要优秀点儿 |
【STM32H5 评测】ADC 电压表
经验分享 | 通过STM32 TIMER的PWM功能模拟输出正弦波
STM32H563 ADC+TIM+DMA应用演示
经验分享 | STM32N6 ADC DMA 传输失败案例分享
实战经验 | MC SDK V6.x软件HSO功能ADC采样设计说明
经验分享 | 为什么重启ADC的DMA传输要先停掉ADC?
经验分享 | 为什么重启ADC的DMA传输要先停掉ADC?
经验分享 | STM32 ADC过采样话题
经验分享 | STM32双定时器+ADC+DMA实战案例
经验分享 | STM32U5系列TIMER+DMA+DAC应用演示
微信公众号
手机版