求助:Ticker中使用延时的问题-Arduino中文社区 - Powered by Discuz! Archiver

hodrag 发表于 2021-4-3 21:21

求助:Ticker中使用延时的问题

本帖最后由 hodrag 于 2021-4-3 21:31 编辑

比如要隔一分钟就闪10秒灯,我在Ticker中使用delay进行延时,结果灯只是闪一下就灭了(使用NoceMcu V3测试),代码如下:

#include <Ticker.h>

Ticker tk;

void setup() {
pinMode(LED_BUILTIN,OUTPUT);

//先亮10秒
digitalWrite(LED_BUILTIN,LOW);
delay(10*1000);
digitalWrite(LED_BUILTIN,HIGH);

tk.attach(60,cycle);
}

void loop(){}

void cycle()
{
digitalWrite(LED_BUILTIN,LOW);
delay(10*1000);
digitalWrite(LED_BUILTIN,HIGH);
}
请教应该怎么实现这个功能?



topdog 发表于 2021-4-4 01:56

本帖最后由 topdog 于 2021-4-4 02:33 编辑

不能用delay()吧。

奈何col 发表于 2021-4-5 00:42

回调函数中不能有延时操作,任何单片机中都是如此

hodrag 发表于 2021-4-5 12:21

奈何col 发表于 2021-4-5 00:42
回调函数中不能有延时操作,任何单片机中都是如此

应该用什么方法实现这个功能呢?

hodrag 发表于 2021-4-5 12:29

topdog 发表于 2021-4-4 01:56
不能用delay()吧。

应该用什么方法实现这个功能呢?
页: [1]
查看完整版本: 求助:Ticker中使用延时的问题