ESP8266內建的定時器庫 Ticker庫

2022-07-16 23:33:18 字數 2953 閱讀 3763

ticker的功能非常簡單,就是規定時間後呼叫函式

總體上,根據功能可以把方法分為兩大類:

定時器管理方法;

定時器啟用方法;

detach()     停止定時器

active()    定時器是否工作

返回值  bool

ticker是arduino core for esp8266 內建的乙個定時器庫,這個庫用於規定時間後呼叫函式。

總體上,根據功能可以把方法分為兩大類:

1.2.1 定時器管理方法

1.2.1.1 detach() —— 停止ticker

函式說明:

/**

* 停止ticker

*/void detach();

1.2.1.2 active() —— ticker是否啟用狀態

函式說明:

/**

* ticker是否啟用狀態

* @return bool true表示ticker啟用

*/bool active();

1.2.2 定時器啟用方法

1.2.2.1 once() —— xx秒後只執行一次

函式說明:

/**

* xx秒後只執行一次

* @param seconds 秒數

* @param callback **函式

*/void once(float seconds, callback_function_t callback);

/** * xx秒後只執行一次

* @param seconds 秒數

* @param callback **函式

* @param arg **函式的引數

*/void once(float seconds, void (*callback)(targ), targ arg)

callback_function_t定義如下:

typedef std::function callback_function_t;

1.2.2.2 once_ms() —— xx毫秒後只執行一次
/**

* xx毫秒後只執行一次

* @param seconds 秒數

* @param callback **函式

*/void once_ms(float seconds, callback_function_t callback)

/** * xx毫秒後只執行一次

* @param seconds 秒數

* @param callback **函式

* @param arg **函式的引數

*/void once_ms(uint32_t milliseconds, void (*callback)(targ), targ arg);

1.2.2.3 attach() —— 每隔xx秒週期性執行

函式說明:

/**

* 每隔xx秒週期性執行

* @param seconds 秒數

* @param callback **函式

*/void attach(float seconds, callback_function_t callback);

/** * 每隔xx秒週期性執行

* @param seconds 秒數

* @param callback **函式

* @param arg **函式的引數

*/void attach(float seconds, void (*callback)(targ), targ arg)

1.2.2.4 attach_ms() —— 每隔xx毫秒週期性執行

函式說明:

/**

* 每隔xx毫秒週期性執行

* @param seconds 秒數

* @param callback **函式

*/void attach_ms(float seconds, callback_function_t callback);

/** * 每隔xx毫秒週期性執行

* @param seconds 秒數

* @param callback **函式

* @param arg **函式的引數

*/void attach_ms(uint32_t milliseconds, void (*callback)(targ), targ arg)

注意點:

例項說明:     板載led 0.3s 慢閃,然後 0.1s快閃,最後常亮; 原始碼:

/**

* **功能:板載led開始0.3秒閃,然後快閃,最後常亮

*/#include ticker flipper;

int count = 0;

void flip()

// 當次數達到120次的時候關閉ticker

else if (count == 120)

}void setup()

void loop()

注意點:

各位讀者可以查閱原始碼中的位置,就會發現有很多常用的板子(博主這裡使用到的nodemcu)。

例項說明:     板載led 來回快速閃爍 原始碼:

#include ticker tickersethigh;

ticker tickersetlow;

void setpin(int state)

void setup()

void loop()

本篇章非常簡單,就是乙個ticker定時器的使用,請讀者快速翻閱;

ESP8266軟體定時器實現流水燈

esp8266 nonos 3.0軟體定時器實現流水燈 已經搭建好了esp8266開發環境,我們先實現一下最基本的功能,用軟體定時器實現流水燈功能。要實現流水燈我們首先需要進行gpio的配置。檢視原理圖我們的led連線的是esp8266的gpio4引腳和gpio5引腳,所以我們需要先設定這兩個gpi...

基於HAL庫的STM32定時器單脈衝控制

這裡的單脈衝控制是指在pwm下產生指定個數的脈衝。先在cubemx中按照pwm進行配置。定義乙個變數表示脈衝個數。uint8 t pwmnum 5 開啟pwm中斷。hal tim pwm start it htim1,tim channel 1 定義脈衝完成 函式。uint8 t cnt 0 voi...

mysql資料庫的定時器開機設定預設自啟動

不知道你有沒有遇到過mysql資料庫的定器的開機啟動問題,當我們開啟mysql資料庫定時器後,電腦重啟後,定時器會自動關閉,即預設是關閉狀態,所以我們要將預設狀態轉換成開機啟動狀態,轉換後,電腦重啟後定時器就可以自動執行了。在系統盤找到安裝目錄下的my.int檔案 我的位置是 c programda...