使用闹钟库,我无法启动闹钟:
#include <Time.h>
#include <TimeAlarms.h>
void setup()
{
Serial.begin(9600);
while (!Serial)
{
;
}
setTime(8,29,0,1,1,10); // set time to 8:29:00am Jan 1 2010
Alarm.timerRepeat(15, Repeats);
}
void Repeats()
{
Serial.print("alarmed timer!");
digitalWrite(10,1);
}
void loop()
{
}
答案 0 :(得分:2)
我想你正在使用this library。
如果您在帮助中阅读,可以看到:
正常运行使用
Alarm.delay(毫秒);警报和计时器只是检查和他们的 使用此延迟功能时调用的函数。你可以传递0 最小延迟。应该使用此延迟而不是正常的Arduino 延迟(),用于及时处理警报和计时器。
因此,为了调用警报,您必须添加:
void loop(){
Alarm.delay(1000); // wait one second between clock display
}
如果您希望更快地检查闹钟,可以使用较低的延迟(例如100)。您也可以使用0,因此该功能不会阻止,但它不是您的应用程序所必需的。
顺便说一下,我认为(我可能错了)对setTime
的调用仅由其他函数使用,而不是由计时器使用。所以你可以省略它。此外,你错过了pinmode声明..
最后..试试这段代码告诉我们。
#include <Time.h>
#include <TimeAlarms.h>
void setup()
{
Serial.begin(9600);
while (!Serial) ;
pinMode(10, OUTPUT);
Alarm.timerRepeat(15, Repeats);
}
void Repeats()
{
Serial.print("alarmed timer!");
digitalWrite(10,1);
}
void loop()
{
Alarm.delay(500);
}
答案 1 :(得分:0)
添加Alarm.delay(0);这样你的程序就不会冻结,你的闹钟就会起作用......