芯片资讯
- 发布日期:2024-03-09 06:59 点击次数:114
有些传感器会输出MCU计数功能的脉冲信号,MCU单片机需要统计脉冲输入的数量,通常有以下实现方法:1.GPIO中断的原理非常简单。利用GPIO的上下中断,脉冲的数量是进中断的次数。只需在中断服务函数中进行计数即可。GPIO中断的使用应注意:脉冲信号的频率不应过高,否则MCU单片机可能无法处理GPIO中断处理程序应尽可能短,否则GPIO中断的优先级应较高,否则脉冲信号的处理将延迟
首先,我们使用PWM波产生频率为10Khz的板,持续时间为100ms。 。
下降边缘的脉冲数理论为100ms/0.1ms=事实上,由于有一点误差,从上述逻辑分析仪可以看出,实际脉冲数为1.009k,即1009k。然后将PWM连接到另一个板的GPIO引脚上,打开下降边缘的中断。在中断服务函数中计数,实际值为1009。
2.定时器输入捕获输入捕获
它通常用于测量脉冲宽度和频率,也可用于脉冲计数。其原理类似于上述GPIO中断,但使用定时器输入捕获中断。
3.定时器实际上与计数器非常相似,但定时器计数内部时钟脉冲。当计数到一定值时,IC芯片代理商-全球电子元器件采购平台 时间可以根据频率计算。计数器计数外部脉冲,即每次外引脚发生变化,计数器计数一次。MCU单片机的定时器可用于将外部脉冲信号接入MCU的TIMx_ETR引脚进行计数。
它的使用也很简单,主要配置TIMx_SMCR寄存器(slave mode control register),详情请参考芯片参考手册。
可见定时器CNT的值是脉冲的数量。
总结:1)尽量使用TIMER ETR引脚通过计数器实现脉冲计数。如果条件不允许,外部脉冲输入频率不是很高,GPIO中断也可以实现,但仍需考虑高频中断对整个系统的影响。例如,上述MCU的主频为48mhz,将10khz调整为100khz。实测GPIO中断也可以准确计数,但当继续增加到1mhz时,无法处理。实测脉冲约5万个,GPIO中断只测量10206个,使用计数器模式可以准确计数。2)如果使用GPIO中断计数,应特别注意GPIO上无接地电容,否则会改变脉冲波形,导致计数错误。一起学习嵌入式!
- 传感器电路如何抗干扰2024-11-04
- 电容特性,如何选择高频滤波电容2024-09-18
- 什么是可调电阻器?它的三个脚如何连接?2024-08-15
- 助AI实现边缘计算的理想之选-FPGA2024-07-30
- 如何用arm开发板做电子数码相机2024-07-26
- 国产IGBT,实力究竟如何?2024-06-27