如何使用微控制器测量PWM或脉冲时间



我试图使用红外传感器计算每个脉冲的时间。它连接到我当前的微控制器(Basys MX3(,但我不确定如何读取脉冲的总时间。

我已经初始化了一个数字输入来读取来自红外传感器的脉冲,但我不确定如何捕获我需要的数据。我知道我需要使用 PORTDbits.RD10(读取引脚上的值(进行设置,但是有没有办法设置它来读取总脉冲?我知道总脉搏从低到高时开始,当它再次从低到高时结束,但我不确定如何阅读。

您的微控制器实际上是一个PIC32MX370F512L。如果要捕获脉冲的上升沿和下降沿,可以使用更改通知中断来实现(请参阅此处的示例 12-1(。至于测量上升沿和下降沿之间的时间,您可以使用根据更改通知中断启动和停止的硬件计时器。您将受到硬件实际分辨率的限制。希望它足够好。更好的选择是使用逻辑分析仪或示波器。

最新更新