ESP32-02-Timer中斷觸發

回覆文章
cajhbb
系統管理員
文章: 1119
註冊時間: 2018年 6月 30日, 02:16

ESP32-02-Timer中斷觸發

文章 cajhbb »

ESP32-02-Timer中斷觸發
Timer0每隔1秒,中斷觸發一次,不斷循環
from machine import Timer
import time

# 定時器中斷處理函數
def timer_callback(timer):
print("Timer interrupt triggered!")

# 建立一個 Timer 物件,使用計時器 0
# 模式為 Timer.ONE_SHOT (一次性觸發) 或 Timer.PERIODIC (週期性觸發)
# 設定時間間隔為 1000 毫秒 (1 秒)
# 執行 timer_callback 函數
tim0 = Timer(0)
tim0.init(period=1000, mode=Timer.PERIODIC, callback=timer_callback)

# 主迴圈,可以讓程式保持運行,等待中斷發生
while True:
time.sleep(0.1)
timer0-01.PNG
timer0-01.PNG (38.35 KiB) 已瀏覽 69 次

代碼: 選擇全部

from machine import Timer,Pin   #使用machine模組中的Timer及Pin
LED_1=Pin(4,Pin.OUT)    #輸出腳位
LED_2=Pin(16,Pin.OUT)   #輸出腳位

LED_1.value(1)  #初始設定
LED_2.value(0)  #初始設定

timer=Timer(0) #使用第0號計時器
def LED_Callback(timer): #函式(副程式)
    LED_1.value(not LED_1.value()) #反向
    LED_2.value(not LED_2.value()) #反向

timer.init(period=1000,mode=Timer.PERIODIC,callback=LED_Callback)
#timer.init(週期,循環模式,呼叫函式)
https://wokwi.com/projects/446853402993883137
回覆文章