STM32外部脉冲计数问题,求帮助
时间:10-02
整理:3721RD
点击:
我想用STM32做一个外部脉冲输入计数的程序,每5秒显示计数值,同时复位计数器重新计数。
思路是:
TIM2外部ETR触发输入,从模式为复位模式
TIM3主模式,TRGO触发输出,计数器5s溢出给出更新信号,复位从模式计数器
但是TIMx_CR_MMS定义是 TIMx_EGR寄存器的UG位被用于作为触发输出(TRGO) ,从而复位从模式计数器;
望大神解答! 谢谢!
思路是:
TIM2外部ETR触发输入,从模式为复位模式
TIM3主模式,TRGO触发输出,计数器5s溢出给出更新信号,复位从模式计数器
但是TIMx_CR_MMS定义是 TIMx_EGR寄存器的UG位被用于作为触发输出(TRGO) ,从而复位从模式计数器;
望大神解答! 谢谢!
楼上说的没错,开一个5S的定时器,时间到就去读 外部脉冲做计数 那一路定时器的 CNT寄存器就好了。如果为了精准,可以省去中断函数,开启DMA,用5S那个定时器溢出触发DMA 从 另一路定时器的CNT寄存器读取数据到内存
个人觉得可以用一个外部中断来接收外部脉冲,并计数,定时器单独定时,定时到5秒时,读出外部中断的计数就可以了