定时器与 Arduino Leonardo 冲突

Timer conflict with Arduino Leonardo

我创建了一个基于 Arduino Leonardo 的四轴飞行器,我正在使用 Servo.h 库来控制电机输出。我现在正在安装一个便宜的 RF Link 套件作为第一次无线测试飞行的通信,并且我已经下载了 VirtualWire 库。它工作完美,但它使用与伺服库相同的定时器。

我发现的所有库都使用 timer1,而且更改源代码以使用另一个计时器似乎超出了我的能力范围。我也不确定 timer2 是否具有足够高的分辨率来处理通信(timer1 是 16 位,timer2 是 8 位)。

有没有人遇到过这个问题?有人对我如何解决这个问题有什么好的建议吗?

感谢所有建议和提示!

我将接收器换成了 Arduino UNO,并使用了 ServoTimer2 库 http://forum.arduino.cc/index.php?topic=21975.0

开箱后无法正常工作,因此您必须进行更改

extern "C" {
   // AVR LibC Includes
   #include <inttypes.h
   #include <avr/interrupt.h>
   #include <WConstants.h>
}

#include<Arduino.h>

这不是一个完美的解决方案,但目前有效。