GTimer - 使用一次性的GTimer
材料準備
- AmebaD [ AMB23 / AMB21 / AMB22 / BW16 / AW-CU488 Thing Plus ] x 1
範例說明
在這個例子中,我們將使用 4 個 One-Time GTimer,並將用戶數據傳遞給每個計時器。
打開範例, “File” -> “Examples” -> “AmebaGTimer” -> “TimerOneshot”. 編譯上傳到Ameba,按reset。 然後您可以看到打印到串行視窗的4個計時器日誌。
程式碼說明
begin() 的第一個參數是定時器 ID (0~3)。 第二個參數是計時器的值(以微秒為單位)。
在範例中,我們填寫 1000000us = 1s。 第三個參數指定時間到時要調用的函數。
第四個參數是設置這個定時器是否是一個週期定時器,我們這裡使用“false”來開始一個一次性定時器。
第五個參數是用戶數據,我們這裡給0表示這是定時器0。
GTimer.begin(0, 1 * 1000 * 1000, myhandler, false, 0);
接下來我們設置第二個定時器,定時器值為2秒,用戶數據為1,其他定時器的設置類似。
GTimer.begin(1, 2 * 1000 * 1000, myhandler, false, 1);
在 myhandler 函數中,我們將用戶數據打印到串行視窗。 由於4個定時器分別設置為1、2、3、4秒計時,從1秒到4秒,每個定時器的用戶數據按順序打印在串行視窗上。4 秒後,不會打印任何日誌。
Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved. Terms of Use