
问题: 此问题由客户提出,客户在使用 STM32F411 MCU 的后期软件联合调试时候,需要知道 HSI 的误差值,一般的方法是将 HIS 从 MCO1 的引脚上输出. 0 {) O- Y5 [/ b( r 调研: 1.由于在板子设计初期并没有将 MCO1(PA8)引出测试点,所以无法直接测量 HSI.1 m" p' f' Y$ U; h' [7 D0 @( u* | 2.因此我们可以使用间接的方式测试 HSI 的值: 通过一个使用 HIS 做计数的 TIMER,使 TIMER 输出通过 HIS 比例关系的 PWM 波,通过示波器量 PWM 输出来获得 HIS 的值. 3.以下是通过 STM32CubeMX 配置的步骤:3 o3 W2 e. [+ V& s a.配置外设和管脚: ( S+ H. u( O3 a/ B- q ![]() b.配置 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 ![]() $ I6 F3 T1 }8 u( D i" n ![]() 4.STM32CubeMX 配置好后,点击生成代码., w1 x- U$ @9 W' Z* t7 i 5.增加 PWM 启动代码:6 Z( J k2 c9 J2 A" w; m5 v' Z
6.接下来我们可以通过示波器探针连接到 PA10 上,通过示波器的频率来计算 HIS 的实际值. 7.测试代码和 STM32CubeMX 例程请参考附件. |
基于定时器捕获测量脉宽的应用示例
狂欢三】STM32C031使用TIM定时器DMA方式实现WS2812彩灯输出(三)
【狂欢三】STM32C031使用TIM定时器DMA方式实现PWM输出(二)
【狂欢三】STM32C031使用TIM定时器PWM输出
stm32使用定时器触发dma传输,启动dma没反应的几种情况的解决方法
定时器剩余通道是否可以做PWM输出呢?
基于STM32双定时器+ADC+DMA实战经验分享
基于STM32的定时器触发ADC时可能遇到的情形
【NUCLEO-U545RE-Q评测】5. 基本计时器
基于STM32的定时器不按设定超时产生中断