STM32捕获模式捕获一次计数器清不清零(很急!!谢谢了) 50
我想用STM32的TIM的捕获模式测量频率。遇到了点问题,想请高手请教啊.我的测频原理是这样的:TIM2采用外部时钟模式2加触发模式。将待测信号接入TIM2的ETR输入端...
我想用STM32的TIM的捕获模式测量频率。遇到了点问题,想请高手请教啊.
我的测频原理是这样的:
TIM2采用外部时钟模式2加触发模式。将待测信号接入TIM2的ETR输入端,通过一个脉冲同步电路产生的同步脉冲(作为触发脉冲)来控制计数器计数。这个控制脉冲信号从通道一送入单片机。当来第一个脉冲时计数器开始计待测信号上升沿数,下一个脉冲到来时,捕获计数器的值到捕获寄存器。再下一个控制脉冲到来时再捕获计数器的值到寄存器。
与此同时TIM3通过同一个控制脉冲用同样的方法来计一个已知频率(如8M)的标准时钟的上升沿的个数。
通过两个计数器的值和标准脉冲频率可计算出待测信号的频率。
但是像这样做的话,在每次捕获的时候需要计数器是自动清零,然后从零计数的,不知道STM32单片机在这个模式下是不是向这样工作的?恳请高手讲解!!很急!!谢谢了!!!
感谢flyunlimit,
能给我介绍个你觉得更好的测频方法吗(信号频率是变化的),正在做这个东西,十分感谢啊~~~~~~ 展开
我的测频原理是这样的:
TIM2采用外部时钟模式2加触发模式。将待测信号接入TIM2的ETR输入端,通过一个脉冲同步电路产生的同步脉冲(作为触发脉冲)来控制计数器计数。这个控制脉冲信号从通道一送入单片机。当来第一个脉冲时计数器开始计待测信号上升沿数,下一个脉冲到来时,捕获计数器的值到捕获寄存器。再下一个控制脉冲到来时再捕获计数器的值到寄存器。
与此同时TIM3通过同一个控制脉冲用同样的方法来计一个已知频率(如8M)的标准时钟的上升沿的个数。
通过两个计数器的值和标准脉冲频率可计算出待测信号的频率。
但是像这样做的话,在每次捕获的时候需要计数器是自动清零,然后从零计数的,不知道STM32单片机在这个模式下是不是向这样工作的?恳请高手讲解!!很急!!谢谢了!!!
感谢flyunlimit,
能给我介绍个你觉得更好的测频方法吗(信号频率是变化的),正在做这个东西,十分感谢啊~~~~~~ 展开
2个回答
展开全部
1、中断里手动清0
2、这样测频率好笨。
补充:先保留第2点。请问你为什么要搞的这么复杂?你直接测量2个沿的时间不就知道频率了吗?如果测一个不准,就多测几个再平均。STM32使用外部8M晶振做系统时钟。精度也是有保证的。
或者你有别的考虑说来听听,有段时间没玩STM32了,忘得差不多了,乘机再熟悉一下。
第2点我不删了,算是对自己的一个警示吧。楼主用的是全同步数字测频,我完全不知道,显得我很笨。学无止境啊!
这是个不错的熟悉STM32定时器的机会,所以我也想试试做个频率测量玩玩,我5月初刚买了一个50M带宽的数字示波器,算是有条件。
你有多急?很急的话我可以先帮你看看程序。
2、这样测频率好笨。
补充:先保留第2点。请问你为什么要搞的这么复杂?你直接测量2个沿的时间不就知道频率了吗?如果测一个不准,就多测几个再平均。STM32使用外部8M晶振做系统时钟。精度也是有保证的。
或者你有别的考虑说来听听,有段时间没玩STM32了,忘得差不多了,乘机再熟悉一下。
第2点我不删了,算是对自己的一个警示吧。楼主用的是全同步数字测频,我完全不知道,显得我很笨。学无止境啊!
这是个不错的熟悉STM32定时器的机会,所以我也想试试做个频率测量玩玩,我5月初刚买了一个50M带宽的数字示波器,算是有条件。
你有多急?很急的话我可以先帮你看看程序。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F207是一款非常优秀的微控制器芯片,它是ST(意法半导体)最新推出的基于90纳米工艺的STM32F2系列芯片之一。STM32F207芯片内置了丰富的外设接口,包括ADC、DAC、UART、SPI、I2C等,可以轻松实现各种复杂的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询