作者katzlee (I wish)
站内ASM
标题Re: [问题] 量测脉波宽度
时间Mon Apr 13 19:04:18 2009
※ 引述《BlueFeel (蓝色感觉)》之铭言:
: 请教一下,
: 如果我要设计一个....
: pin2 输入负脉波宽度>1ms , pin1 = 1
: <1ms , pin1 = 0
: 的功能
: 刚开始以为 pin2用INT0(外部中断)做
: 在中断函式内 写个 计数器,
: 当跳开後,会依计数值做pin1判断1还是0
: 後来发现,我误会中断的意义
: 它是 "下缘触发".....就跳进中断函式,做计数没错
: 但这计数....值并非并非是负脉波宽度
: 怎麽说??
: 跳到中断计数....这计数只计1次.....非我想像的一直计数到 rising才停
: 所以想跟大大请教一下
: 这样的应用该怎麽做呢??
我之前也是要做量测PWM Duty的function,也是想了好久
因为你duty的精度跟你MCU count的快慢强相关...
当你的PWM频率一快时,计数出来的结果,换算回Duty其实不太准
不过你如果只是要判断大於1ms就可以,超过一点没关系的话那就还好
我最後的方法是 直接让他进一个RC filter...
再用ADC去捉那个dc值回来,而你如果只是要比固定的宽度,
不用ADC,直接加个比较器也行 - MCU中断输入直接接比较器输出
来改变pin1的输出
一点建议,希望没误会你的需求。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.105.111.229