你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ADC采集通过STM32H实现经验分享

[复制链接]
STMCU小助手 发布时间:2023-3-11 21:00
使用HAL_ADC_PollForConversion可以进行一次转换,但是会根据设置的EOC类型决定是完成单通道转换还是Rank序列转换。7 g2 K1 b% }7 L+ y- {

$ c: B. S) p' l6 k' l3 X- e主函数逻辑代码如下:* F. S, ]7 H# F% U* h
  1. #include "sys.h"
    8 F" D& n9 T. i; g0 l
  2. #include "delay.h", L, d4 \. o8 v0 s2 \
  3. #include "usart.h". K/ o8 ?* Y% M0 A; m6 ^
  4. #include "adc.h", [7 m6 b. {/ `4 `

  5. 6 i5 J  f5 h/ S0 d# V( R
  6. int main(void)# d* v/ B8 @7 Y0 p, u; v
  7. {) K# Q. q, s5 ^  v' t
  8.     u16 adcx;
    : P) F! D# U/ E7 S& u0 V# N& m2 U
  9.     //Cache_Enable();                 //打开L1-Cache
    6 O! q6 Y! W3 x) Z& K
  10.     HAL_Init();                           //初始化HAL库
    , i0 f# G3 t, z7 T8 o, L
  11.     Stm32_Clock_Init(200, 2, 2, 2); //设置时钟,400Mhz) T8 l" _& O0 T# F" M4 ]
  12.     delay_init(400);                        //延时初始化
    2 H5 n1 p% }4 A! v+ Q; P
  13.     uart_init(115200);                  //串口初始化
    - m4 O$ e$ {' y4 A& U, U
  14.     printf("hello\r\n");
    0 ]* h6 j' a4 {' p$ Y3 H- H! S3 G
  15.     MX_ADC1_Init();
    ; d, y0 R- z8 q" \( n" {
  16.     while (1)
    ; ]1 D" U- e9 ^9 m1 O4 x/ Z
  17.     {+ p7 k/ Q% M# p7 p" u6 R
  18.         HAL_ADC_Start(&hadc1);                               //开启ADC
    0 ]) h- S- O# T5 H/ O" M% Z; c
  19.         HAL_ADC_PollForConversion(&hadc1, 10);               //轮询转换, c$ ~% S8 \+ {8 }' J: h
  20.         for (int i = 0; i < 8; i++)6 \0 Q5 X  ~- y: [7 }3 D* H1 ~
  21.         {, F9 [; |6 v, J
  22.             printf("%d\t", (u16)HAL_ADC_GetValue(&hadc1));              //返回最近一次ADC1规则组的转换结果* N, E) a: E3 f) W9 J% ]
  23.         }
    5 W( {% L3 |$ r. A' m
  24.         printf("\r\n");
    : s3 ^$ w, E: f
  25.         delay_ms(500);
    / ~3 f3 y. |; `! r4 o6 J
  26.     }3 R/ T) _5 q3 {" ^  n' i: B0 Z1 A
  27. }6 |, G& a! Y" m6 k
  28. & K" D9 ]6 Q8 Y" A4 i
  29. void Error_Handler(void)
    3 X1 n2 F8 T6 V9 h
  30. {
    * t- a. q5 z% }. K
  31.   /* USER CODE BEGIN Error_Handler_Debug */
    / b+ f$ C! U/ @" u# ^
  32.   /* User can add his own implementation to report the HAL error return state */* E/ Z( _' d3 w- N# r3 d
  33. ) R" }3 g9 s5 o' Z2 j: L, J  b
  34.   /* USER CODE END Error_Handler_Debug */
    ! F; H  S; o, n( D$ ~. K7 B" F( y
  35. }5 H& }- r: N" K4 f( i# i  ^
复制代码

7 ^3 M$ n8 |7 t3 |( K实验效果如下,中途将接入到3.3V的PA3切换到了PA2~
* r9 G  W% P6 g1 G1 g* a& A
8 a" ]6 Y" D6 r5 Z5 e. v! q4 C: A: s
20200426095855892.png
+ O2 c$ |% ^: ?

. x2 p2 u1 c" @& ]————————————————3 }0 C; [- u" T8 B. g  d9 C: v! ~
版权声明:小盼你最萌哒
7 n1 w: ~# X+ g  }, n! ?1 |# ~4 i3 ]- b- |1 T
赞 收藏 评论0 发布时间:2023-3-11 21:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版