stm32f103zet6采用双定时器的方式,定时器3设置为外部中断上升沿捕获,用来记被测信号上升沿的个数,其次,使用定时器4设置计数模式,时钟为2MHz。在主函数的循环中,首先将定时器3和定时器4的计数器清零,中断溢出计数也同时清零。接着延迟990ms,先将定时器3的计数值赋值给count,如果定时器3计数器的值不改变,则进入等待状态,等待下一个被测信号上升沿到来时,才取定时器4的计数值,再根据标准频率2MHz换算出被测信号的频率。
最终结果如下,频率测量范围可达1Hz-3MHz,且整范围内误差小于2x10^(-6),刷新速率小于1S
2MHz测量效果图
1Hz测量效果图