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

【经验分享】一种使用 Timer 测试 HSI 实际值的方法

[复制链接]
STMCU小助手 发布时间:2022-2-25 19:28
问题:
. P# q8 t$ n' C' E2 k* ?8 x此问题由客户提出,客户在使用 STM32F411 MCU 的后期软件联合调试时候,需要知道 HSI 的误差值,一般的方法是将 HIS 从 MCO1 的引脚上输出.
' Z8 w; R4 j4 ^. s0 {) O- Y5 [/ b( r
调研:
, G8 e/ V% d$ L2 N8 V$ E% ~1.由于在板子设计初期并没有将 MCO1(PA8)引出测试点,所以无法直接测量 HSI.1 m" p' f' Y$ U; h' [7 D0 @( u* |
2.因此我们可以使用间接的方式测试 HSI 的值:
9 K# C$ F5 {4 g6 H0 l" p( C8 v      通过一个使用 HIS 做计数的 TIMER,使 TIMER 输出通过 HIS 比例关系的 PWM 波,通过示波器量 PWM 输出来获得 HIS 的值.
# z/ ^$ I4 ^. E  j. B3 d3.以下是通过 STM32CubeMX 配置的步骤:3 o3 W2 e. [+ V& s
a.配置外设和管脚:
% C; c. Z' T1 b" v( S+ H. u( O3 a/ B- q
L6U$TA[T5)SV9W(FC8N)R%5.png 7 V9 B( b' X5 |! X( S9 [

. K* }1 w# Z. ]! @- p) Zb.配置 Timer 的分频值.5 {% @; b* b% L+ X; O2 w" j  K
                 16bit 的 timer 最大值为 65536,我们周期选择 10000.6 D& V$ V4 m: s9 z% y8 w% |
                 希望输出 PWM 为方波,因此 Pulse 选择 5000
- z  M, e- s+ A' e$ r
. Q$ n" y7 {, }3 H
4 k: L( g6 R1 {" L% L) X7 k; @, { QOB68}UIZT@`LU9)`TX813C.png 0 O6 H/ C% [5 J% X) S4 y
$ I6 F3 T1 }8 u( D  i" n
MJPFVDUAW82C`F]P40]KJLW.png
- w9 n* q/ L7 |; C0 e/ u
- A0 {8 P; r: A5 ?3 _3 i! _4.STM32CubeMX 配置好后,点击生成代码., w1 x- U$ @9 W' Z* t7 i
5.增加 PWM 启动代码:6 Z( J  k2 c9 J2 A" w; m5 v' Z
  1. HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);
复制代码

# i6 @8 S2 W7 T% Q0 [' ]' P; F6.接下来我们可以通过示波器探针连接到 PA10 上,通过示波器的频率来计算 HIS 的实际值.
& k1 H- }: U; j8 O7.测试代码和 STM32CubeMX 例程请参考附件.
& W' G1 n9 Z2 h- b4 y2 s
$ c/ L" {, v/ K: t2 n0 |$ J! {
+ w; n/ _! {' c
收藏 评论0 发布时间:2022-2-25 19:28

举报

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