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

STM32H723 的序列 ADC 无法启动转换

[复制链接]
STMCU小助手 发布时间:2023-2-18 16:00
1. 前言客户使用 ADC 进行序列转换,配置完成后,不调用 Cube 库函数而使用寄存器操作进行ADC 转换,发现无法启动 ADC 转换,且无任何报错。如果只使用一个通道转换 ADC,则可以正常启动 ADC 转换。( }- x3 x# p+ ^  N
6 v7 m$ X6 A& M% a7 [  J# T
3 y+ W0 N" w; D/ i$ \. c3 z
2. 现象复现
) g0 s# S  P1 m. ~4 G: h4 j9 ^使用 CubeMx 配置下面的 ADC 序列转换程序。
: ]( d. _" a1 K& M: X- r9 P8 y6 a% p; Z5 A9 w

* i, e9 C% T7 l `TI{~JHWYD6)H{TCW(9VKXK.png & d- G9 C0 S% Y: L

: r( G4 J/ z0 \- ~0 b
3 \0 u# _1 @* {( ]* A1 M, I" X. g
正常的使用 Cube 函数启动 ADC 函数为:HAL_ADCEx_InjectedStart(&hadc1),此种情况下 ADC 可以正常转换,无任何问题;如果客户使用下面的操作进行启动 ADC 转换则出现 ADC 停止采样:8 n, w# a% M# c4 m, o4 N, o: @3 f# l
ADC1->CR |= 0x01; // ADEN =1
) g5 G- ?  a+ U* _ADC1->CR |= 0x08; // JADSTART = 1
* |* O4 Z9 X" K/ I8 O寄存器无报错,而且 JADSTART 一直等于 1,但 ADC 没有启动转换。0 A7 w4 Z: w% Q$ Z0 x

) S, |) F% @, O9 `

  H9 `, F1 x. D6 p& V1 @ W[Y17J1NUP~85]8KDB`8S{N.png ( ?  O( p6 A) \4 ~0 Y& l
7 v( {5 ?7 K3 T) T9 q

' p( b. j/ T: A: g2 _如果客户改为只采样一个通道,而不进行多通道序列采样,则上述写法也无任何问题,ADC 可正常转换。
% }. m$ c9 ~' S5 w' h( w( n, Z* g+ t  P0 e
* c4 c3 t$ d  W  K- {2 n
3. 问题分析与解决
8 x7 z6 ^: z# t. e4 {9 P从 HAL 库中启动 ADC 代码看上去,实际 Cube 库函数做了很多判别,因此我们关心下ADC 启动序列在参考手册中的说明:5 E: T( O4 H, {: [

: V5 ]& r! B% y3 k! H  |

$ P# v4 |/ E7 p  ]: m XL5HQR27_IITDHD5X0KC9~G.png
- b% f$ \, i$ W0 a  J. K" ~$ E6 |
3 B; e0 _8 m6 u% [! x+ K: K) j
/ C' x# E: N( y6 c1 ~3 d) O
可以看到 ADEN 置位后需要等待 ADRDY 置 1 后进行 ADC 转换。+ ~- X0 {+ F! x- u& u3 d

4 X3 s! e) @' d% Y

0 n/ L8 X) n$ T5 { %2~RVV@BPF}E04_33DL7QE9.png
! `  C0 d4 _) k: m$ j" J3 {从时序图上也可以看到 ADEN 后,有一个 tsTAB 的时间,此后 ADC 可以转换。客户的配置忽略了这个过程,导致 ADC 进入异常,因此需要增加必要的等待代码。如下所示:& N$ ?9 i' M% C8 g) J5 H1 `
ADC1->ISR |= 0x01; // Clear ADRDY
% X- k. e6 F$ S/ QADC1->CR |= 0x01; // ADEN = 1
- c0 E. g2 {9 H7 M, p3 kwhile((ADC1->ISR & 0x01) == 0x00) ;// Wait for ADRDY == 1
; p5 O/ A7 ?4 xADC1->CR |= 0x08; // JADSTART = 1
% k' r0 @4 b7 D$ [8 H- U
4 _! p# N7 D# \/ G$ v* \: a

$ e4 @& y* A: L5 e. S6 ^: M6 z完整版请查看:附件 STM32H723 的序列 ADC 无法启动转换.pdf (310.04 KB, 下载次数: 3)
收藏 评论0 发布时间:2023-2-18 16:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版