|
大家好 我在使用STM32H743做外部方波的频率计算。外部高速晶振25M,SYSCLK=400MHz, 使用了两种方法都有误差。 方法一,TIM5,200Mhz没有分频,捕获两次上升沿时间,运行后时间为23.74us(换算频率:42122Hz),实际示波器显示23.94us(41771Hz).不清楚这个误差 少200ns哪里产生的? 方法二,方法一基础上做计数,TIM3定义1s的溢出中断,每次中断读取上升沿的次数(TIM5中断中Frq_cnt计数),TIM3 200MHz时钟,Prescaler=20000-1,产生1s的溢出中断,运行后计数为41493Hz(换算单周期时间:24.1us),同上示波器是23.94us(41771),误差 多160ns,两种方法偏差还有差异。 示波器截图如下
代码如下: |
STM32H743 HSE 48MHz晶振无法实现
STM32H743 配置USBOTG 使用U盘几周后 stm32无法识别usb
STM32H7A3RGT6 ADC 8位采样速度只能达到3.5MSPS达不到数据手册上的7MSPS ?
选型,实现USB转2路CAN功能,目前看到STM32F407和STM32H750都有2路CAN,都能实现功能吗?
关于硬件ECC
LPTIM5的事件Lptim5_ait作为14号Trigger input输入到DMAMUX2 Request generator触发BDMA未生成中断问题
关于NAND FLASH加LittleFS的方案
DMAMUX 使用内部外设Request Event(不使用TIM12和LPTIM)
【经验分享】STM32H7 DMA+UART不定长接收实战:解决缓存溢出与数据错位问题
STM32H747 D2域的问题
微信公众号
手机版
第一,注意统计溢出次数;第二,在一轮测试完成前在中断程序里尽量不要逗留太久以免丢失脉冲统计。这样有篇文章可以参考下:
基于定时基于定时器捕获测量脉宽的应用示例 ,它介绍了基于单个定时器通道和双通道PWM输入模式的测量方式。
刚提到的文章链接是 基于定时器捕获测量脉宽的应用示例 (qq.com)