首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在avr中使用输入捕获测量频率和占空比

在avr中使用输入捕获测量频率和占空比
EN

Stack Overflow用户
提问于 2016-07-03 18:17:41
回答 1查看 2.5K关注 0票数 0

我很难理解输入捕获的概念,以及如何编写一个简单的代码来测量转速表的PWM,例如通过AVR中的输入捕获和定时器……

EN

回答 1

Stack Overflow用户

发布于 2016-07-04 05:36:49

输入捕获只是给外部事件一个时间戳。对于PWM,这些事件是上升沿和下降沿。

启用后,ATMEGA的计时器开始随时钟递增。无论何时发生事件,它都会将该时刻的定时器值复制到输入捕获寄存器,并产生一个中断。在中断服务例程中,您的程序应该读取此寄存器并解释这些值,以计算占空比或其他值。

在此ISR中,您还必须重新配置定时器寄存器以查找备用边沿,因为PWM具有交替边沿。我给出了一个粗略的ATMEGA16L寄存器配置,您可以在数据表中找到完整的详细信息。

TCCR1B - bit6设置为上升,重置为下降。必须在ISR中切换

TCCR1B -用于设置时钟预分频器的位0、1、2

TIMSK - bit5启用输入捕获中断

TIMSK -计算所需的bit0定时器溢出中断启用

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38168926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档