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")
            }
        }

results matching ""

    No results matching ""