
![]() ![]() 如图,想用STM32F103C8T6来测量信号1(黄色)上升沿和信号2(蓝色)第1个上升沿的时间间隔。其中信号2(蓝色)3个沿的频率约为1M。目前采用TIM3(时钟频率为48M)的CH2和CH3来实现,定时器为从模式的复位模式,当出现信号1的上升沿时复位计时器,当出现信号2的上升沿时,进行捕获。 ![]() ![]() ![]() 目前出现的问题为:捕获的CCR3值为信号1和信号2第三个上升沿的间隔,并非信号1和信号2第一个上升沿的间隔,并且捕获重复标志3置1。 但是当信号2只有一个上升沿时,可以正确捕获!! ![]() 有没有大神给指点一下应该如果解决??? PS:之前用NXP的一款芯片,其中定时器有个 单次捕获模式可以解决这个问题,但是找了下STM32这个芯片,没有单次捕获模式。。 |
有没有大佬指点下。 |
看起来后面那三个脉冲速度太快了,软件还没来得及读就把后面两个上升沿捕获进来了。要不试试把捕获值用DMA的方式保存起来,这样每次启动捕获后,只取第一个DMA保存的值用。看看能不能实现。![]() |