io - 如何使用微控制器测量 PWM 或脉冲时间?
问题描述
我试图弄清楚每个脉冲使用红外传感器的时间。它连接到我当前的微控制器(Basys MX3),但我不确定如何读取脉冲的总时间。
我已经初始化了一个数字输入来读取红外传感器的脉冲,但我不确定如何捕获我需要的数据。我知道我需要使用 PORTDbits.RD10 设置它(读取引脚上的值)但是有没有办法可以设置它来读取总脉冲?我知道总脉冲从低到高时开始,当它再次从低到高时结束,但我不知道如何阅读。
解决方案
您的微控制器实际上是 PIC32MX370F512L。如果您想捕捉脉冲的上升沿和下降沿,可以使用更改通知中断来实现(参见此处的示例 12-1)。至于测量上升沿和下降沿之间的时间,您可以使用基于更改通知中断启动和停止的硬件定时器。您将受到硬件实际能力的限制。希望它足够好。更好的选择是使用逻辑分析仪或示波器。
推荐阅读
- javascript - 在 JavaScript 中搜索关键字
- assembly - 如何将多个数据直接从标签加载到寄存器
- amazon-web-services - 为任何 Cloudfront 源访问身份添加 S3 存储桶策略
- java - 我想将聊天窗口/选项集成到我的网络应用程序中。我从哪里开始?
- java - 如何将方法作为参数传入
- c# - 如何使用 Microsoft 图形 API 获取组织中的房间详细信息。我只能获取房间名称和房间 ID
- android - 如何在相对布局中将 Textview 放置在 Imageview 的右侧和中心
- assembly - 如何修复“语法错误:,”和“未定义符号”
- php - 从搜索框中键入的 ajax 检索数据
- node.js - 未捕获的语法错误:在开发模式下本地运行 Turnilo 时出现意外的令牌“<”