本帖最后由 沙漠之痕 于 2018-11-7 12:41 編輯
通過使用定時器控制LED閃爍并通過串口打印信息
一.方式1 init.lua文件 LED_Pin=4 gpio.mode(LED_Pin, gpio.OUTPUT) gpio.write(LED_Pin, 0) tmr.alarm(0,2000,1, function() gpio.write(LED_Pin,1-gpio.read(LED_Pin)) print("hello jiangxin") end) init.lua文件結束
使用定時器0, 每2秒執行一次回調函數”function() end”
1.png (229.99 KB, 下載次數: 40)
下載附件
2018-11-5 20:42 上傳
二. 方式2 下面我們在用另一種方式實現定時器調用函數: 通過關鍵字”local ”和”function”定義一個本地局部函數LED() ;在定時器的回調函數中調用 init.lua文件: LED_Pin=4 gpio.mode(LED_Pin, gpio.OUTPUT) gpio.write(LED_Pin, 0) local function LED() gpio.write(LED_Pin,1-gpio.read(LED_Pin)) print("hello everyone") end tmr.alarm(0,2000,1, LED) init.lua文件結束
2.png (212.45 KB, 下載次數: 51)
下載附件
2018-11-5 20:43 上傳
此處只有通過使用print()函數打印觀看定時器的運行狀態,led 的閃爍狀態,實在是貼不上效果了
二. 方式3 重新創建一個init.lua文件當定時時間到時執行打印操作,且只執行一次 init.lua文件 LED_Pin=4 gpio.mode(LED_Pin, gpio.OUTPUT) gpio.write(LED_Pin, 0) local function LED() gpio.write(LED_Pin,1) print("hello tmr0") end tmr.alarm(0,2000,0, LED) init.lua文件結束 下面開始寫lua程序,上電打開led;通過2秒后串口打印“hello tmr0” 并熄滅led
3.png (229.05 KB, 下載次數: 55)
下載附件
2018-11-5 20:43 上傳
看一下led;外接插裝的紅色led和wifi模塊內部藍色led接的同一個GPIO引腳
4.png (589.75 KB, 下載次數: 58)
下載附件
2018-11-5 20:44 上傳
通過查看原理圖可以GPIO輸出高電平,led反而熄滅
5.png (121.15 KB, 下載次數: 41)
下載附件
2018-11-5 20:45 上傳
使用的函數介紹:
1. tmr.alarm(id, interval_ms, mode, func()) 參數: id: timer id(0-6) interval_ms: 定時時間ms級 mode: 定時器模式 “0” 只運行該定時器 ; “1” 循環運行該定時器 func(): 定時時間到后調用的函數 比如使用定時器0,定時1秒循環打印”hello” : tmr.alarm(0,1000,1,function()print(“hello”)end)
2. print() 直接通過串口打印數據. 使用方式:print(“hello”)打印”hello” data = “ok” print(data) 打印data的內容”ok”
ESP8266 定時器 lua程序源碼(單文件).zip
(1.31 KB, 下載次數: 11)
2018-11-7 12:41 上傳
點擊文件名下載附件
源碼 下載積分: 黑幣 -5
QQ:1813763867 QQ群:455163546
|