首页 > 解决方案 > 如何使用微控制器测量 PWM 或脉冲时间?

问题描述

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

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

标签: iomicrocontroller

解决方案


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


推荐阅读