我正在尝试使用按钮和 ATtiny85 控制计时器上的伺服电机。我可以使用 ATtiny 按下按钮使 LED 闪烁,但是一旦包含伺服库,我的代码就无法工作。
我曾尝试使用 Servo.h 库和 Servo8Bit.h 库,但都不起作用。我认为问题可能来自一个定时器用于两种不同的事情,所以我进入了 Servo8Bit.h 和 Servo8Bit.cpp 源文件并将所有 Timer0 更改为 Timer1 并将所有 TCCR0B 更改为 TCCR1B。
当我尝试上传代码时收到以下错误消息:
/private/var/folders/kd/6b3mdhb90xl1rm2j9_dvn7vr0000gn/T/AppTranslocation/EDE8B1E7-9D65-436D-87B1-4534CFB3B4CF/d/Arduino.app/Contents/Java/libraries/Servo8Bit-master/Servo8Bit.cpp: In static member function 'static void ServoSequencer::setupTimerPrescaler()':
/private/var/folders/kd/6b3mdhb90xl1rm2j9_dvn7vr0000gn/T/AppTranslocation/EDE8B1E7-9D65-436D-87B1-4534CFB3B4CF/d/Arduino.app/Contents/Java/libraries/Servo8Bit-master/Servo8Bit.cpp:493:9: error: 'TCCR1A' was not declared in this scope
TCCR1A = 0;
^
/private/var/folders/kd/6b3mdhb90xl1rm2j9_dvn7vr0000gn/T/AppTranslocation/EDE8B1E7-9D65-436D-87B1-4534CFB3B4CF/d/Arduino.app/Contents/Java/libraries/Servo8Bit-master/Servo8Bit.cpp:498:13: error: 'TCCR1B' was not declared in this scope
TCCR1B &= ~(1<< CS02); //clear
^
Using library Servo8Bit-master in folder: /private/var/folders/kd/6b3mdhb90xl1rm2j9_dvn7vr0000gn/T/AppTranslocation/EDE8B1E7-9D65-436D-87B1-4534CFB3B4CF/d/Arduino.app/Contents/Java/libraries/Servo8Bit-master (legacy)
exit status 1
Error compiling for board ATtiny25/45/85.
预期的结果是上传代码后我会按下一个按钮。在指定的时间后,在这种情况下为 10 分钟,电机应该移动,但代码甚至没有上传。