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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2036|回复: 4

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

[复制链接]
发表于 2021-4-3 21:21 | 显示全部楼层 |阅读模式
本帖最后由 hodrag 于 2021-4-3 21:31 编辑

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

  1. #include <Ticker.h>

  2. Ticker tk;

  3. void setup() {
  4.   pinMode(LED_BUILTIN,OUTPUT);

  5.   //先亮10秒
  6.   digitalWrite(LED_BUILTIN,LOW);
  7.   delay(10*1000);
  8.   digitalWrite(LED_BUILTIN,HIGH);

  9.   tk.attach(60,cycle);
  10. }

  11. void loop(){}

  12. void cycle()
  13. {
  14.   digitalWrite(LED_BUILTIN,LOW);
  15.   delay(10*1000);
  16.   digitalWrite(LED_BUILTIN,HIGH);
  17. }
复制代码
请教应该怎么实现这个功能?



发表于 2021-4-4 01:56 | 显示全部楼层
本帖最后由 topdog 于 2021-4-4 02:33 编辑

不能用delay()吧。
发表于 2021-4-5 00:42 | 显示全部楼层
回调函数中不能有延时操作,任何单片机中都是如此
 楼主| 发表于 2021-4-5 12:21 | 显示全部楼层
奈何col 发表于 2021-4-5 00:42
回调函数中不能有延时操作,任何单片机中都是如此

应该用什么方法实现这个功能呢?
 楼主| 发表于 2021-4-5 12:29 | 显示全部楼层
topdog 发表于 2021-4-4 01:56
不能用delay()吧。

应该用什么方法实现这个功能呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 10:39 , Processed in 0.275564 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表