用STM32F107单片机的外部中断对脉冲信号计数,脉冲信号频率略高,计数就变少,为什么?

2025-03-29 20:55:43
推荐回答(3个)
回答1:

嘿嘿 俺来帮你解答
用 外部中断对脉冲信号计数造成丢失脉冲的原因:
1 脉冲信号频率过高 超过外部中断对脉冲信号的处理速度
2 系统其它中断会造成影响 会延迟外部中断对脉冲信号的处理时间
3 外部中断对脉冲信号的处理程序如果比较长 执行时间也长 也会影响外部中断对脉冲信号的处理速度
建议:
1 将对脉冲信号计数的外部中断的优先级设成高级中断
2 外部中断对脉冲信号的处理程序要尽量想办法缩短
3 当然建议最好使用计数器 每当计满 才中断1次 就不会丢失脉冲了
STM32F107单片机内部可是有4个定时计数器啊

呵呵 满意就给加分吧

回答2:

公司用了这个片子做的红外遥控控制,检测红外都没啥问题。
你这个情况是不是计数器已经跑溢出了。你看到的是不确定的计数。
200HZ用中断处理应该没啥问题。
你中断出了计数还有别的东西吗?

回答3:

这个没试过,但是用外部中断计数,未免太耗单片机资源,一直中断。。不太好。。可以试试定时器。