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

基于STM32H实现连续转换之8通道ADC采集

[复制链接]
STMCU小助手 发布时间:2023-3-13 21:35
使用HAL_ADC_PollForConversion可以进行一次转换,但是会根据设置的EOC类型决定是完成单通道转换还是Rank序列转换。
/ h" \$ @7 T: j: n. S" |7 B2 \3 R% A% l  p3 _  V
主函数逻辑代码如下:
: _9 k; a7 L6 N* t8 S) j$ ~
  1. #include "sys.h"
    4 q  Y' l' L- A1 f/ k
  2. #include "delay.h". u9 T! {8 l' u- s8 [4 o5 Q" d% |
  3. #include "usart.h"
    3 L" c& m/ w2 U
  4. #include "adc.h"
    ( e. f% M# X' _& U. `
  5. / F8 p  L  ?% f7 q* i$ X; N
  6. int main(void)
    & q% R: R7 r2 j' e/ z7 X: K* ~8 P
  7. {
    / {% Y0 V1 |7 W* T- p
  8.     u16 adcx;
    ' l8 g6 u. M5 l, q, y: f
  9.     //Cache_Enable();                 //打开L1-Cache
    0 _  U; }% d# f" d' M
  10.     HAL_Init();                           //初始化HAL库
    3 d( H# p& [0 D3 o
  11.     Stm32_Clock_Init(200, 2, 2, 2); //设置时钟,400Mhz2 p! Q2 Z( P" z. X5 x+ r5 L" X
  12.     delay_init(400);                        //延时初始化
    - @! \4 F4 `1 G- w; ~6 z5 D6 R* N
  13.     uart_init(115200);                  //串口初始化5 E) \6 W  F- a2 q
  14.     printf("hello\r\n");0 h9 o- _( T/ k; ^" P
  15.     MX_ADC1_Init();% }2 n; E$ @$ o( u# l3 f
  16.     while (1)
    $ h$ W6 a) c0 p4 o0 M/ N
  17.     {# M+ [7 \7 W3 C4 F
  18.         HAL_ADC_Start(&hadc1);                               //开启ADC# g' d. S/ l8 u' J, q; v  J7 e/ I
  19.         HAL_ADC_PollForConversion(&hadc1, 10);               //轮询转换. K! j* T0 @! g  B4 Z/ t- T
  20.         for (int i = 0; i < 8; i++)7 }- |4 M$ u5 D& O
  21.         {7 C) V9 b" s0 F/ K2 s/ T6 w
  22.             printf("%d\t", (u16)HAL_ADC_GetValue(&hadc1));              //返回最近一次ADC1规则组的转换结果
    . g6 J8 Z' S2 f. s
  23.         }' Z6 d; r1 }/ ~7 k9 ?/ e) Y
  24.         printf("\r\n");# ?  e# W* X+ F0 j9 K. f6 x5 n
  25.         delay_ms(500);
    ) s+ P0 x) L5 E8 P# z: }
  26.     }+ E  T9 m6 V4 |
  27. }
    8 T  f4 G" A' C( l  x/ c

  28. ! t6 `8 u/ K. |) b9 W" y
  29. void Error_Handler(void)9 F8 @4 M6 @; l* R% @
  30. {
    7 ~6 a9 e/ E0 B$ v! W9 ^( w: ~
  31.   /* USER CODE BEGIN Error_Handler_Debug */
    6 P  P& t3 {1 u/ f; `+ c
  32.   /* User can add his own implementation to report the HAL error return state */
    , U! |. }5 }) {, c5 k2 e

  33. . C  r) }* J( B. f. S( q$ i/ K
  34.   /* USER CODE END Error_Handler_Debug */9 h  B# {  `* S, g  i  H) ^
  35. }
    + H+ o4 Q* G, o
复制代码
4 D" s0 q7 g1 k0 B- i8 |0 e/ D
实验效果如下,中途将接入到3.3V的PA3切换到了PA2~
8 e+ i1 s1 Q& n7 d/ B) {
6 ~; j$ E( B5 S7 @
20200426095855892.png
  m* L9 d: L# F. }% s) \

2 \/ |2 ^6 E3 }- Y————————————————
: b$ ?* c7 l) a* J) m版权声明:小盼你最萌哒
4 b) @& k0 w" f( k2 {7 e" k. o$ ^2 d" F' b% U+ o* U: ^4 t
赞 收藏 评论0 发布时间:2023-3-13 21:35

举报

0个回答

所属标签

相似技术帖

官网相关资源

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