attachInterrupt()
將 pin 腳連接 Interrupt 做觸發。
語法
func attachInterrupt(pin: UInt8,
sense: SwiftDuino.InterruptSense,
mode: SwiftDuino.InterruptMode = default,
block: @escaping () -> Void)
參數
pin:UInt8 指定 pin 腳
sense: SwiftDuino.InterruptSense,
.RISING // 上升緣, 準位由下至上時
.FALLING // 下降綠, 準位由上至下時
.CHANGE // 準位有變化時mode: SwiftDuino.InterruptMode,
.NEITHER // 沒有提升或下拉內阻
.PULL_DOWN // 有下拉內阻
.PULL_UP // 有提升內阻block: () -> Void 觸發時,執行的 closure 區塊
範例
將 nano51822-UDK BTN-1 (P0.0) 連結 Interrupt,並有變化時 (.CHANGE) 觸發執行 closure 區塊
//
// MARK: -- setup routine closure
//
duino.setup { duino in
duino.log("setup")
// connect interrupt to pin 0
duino.attachInterrupt(pin: 0, sense: .CHANGE) {
self.optP00.state = self.optP00.state != 0 ? 0 : 1
duino.log("Interrupt on Pin 0")
}
}