标题: 怎么用单片机把外部输入的方波相位移90度 [打印本页]

作者: wskrhwfn    时间: 2018-9-28 09:35
标题: 怎么用单片机把外部输入的方波相位移90度
怎么用单片机把外部输入的方波相位移90度

1.png (4.33 KB, 下载次数: 32)

1.png

作者: tt123    时间: 2018-10-12 22:38
这个很简单,只要你懂得用GPIO,timer和ISR。
问题在於这个位移90度安如何理解。

在我理解,这就是方波的delay时间。
那你就要定义一下,这90度位移即是要delay多久。
delay多久,timer就设置多久。

简单思路:
当GPIO检测到0到1,来个ISR。
ISR Function中,启动timer计时。在 timer 的ISR中开始启动输出方波。
以上是的方法有个限制,就是你已知输出方波的频率。

如果你想做好一点,输出方波频率能根据输入方波频率改变,那就要2 个GPIO的 ISR。
一个检测0到1触发,一个检测1到0的触发。
检测到输入是上升沿,timer开始,timer时间到,输出1
检测到输入是下降沿,timer开始,timer时间到,输出0

以上是我们想要的结果,所以timer ISR中要检测输出GPIO当时是0还是1。0时就输出1,反之亦然。





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1