|
这个很简单,只要你懂得用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,反之亦然。 |