twiTransfer()


在 TWI 上傳送與接收資料。

語法

func twiTransfer(address:UInt8, bytes: inout [UInt8], length:UInt8, stop_condition:Bool)

參數

  • address:UInt8 為 TWI Chip 的 Address, 介於 0 - 127 之間

  • bytes:[UInt8] 傳送或接收資料的 Byte Array Buffer

  • stop_condition:Bool 是否加上結束條件 bit 於結尾

範例

自 I2C 介面,讀回 Bytes

//
    // MARK: -- I2CDev Read Functions
    //
    public func readBytes(address:UInt8, register:UInt8, length:UInt8, bytes: inout [UInt8]) -> Bool {
        var addr = (address << 1) & 0xFE
        var data:[UInt8] = [register]
        if m_duino.twiTransfer(address: addr, bytes: &data, length: 1, stop_condition: false) > 0 {
            addr |= 0x01 // set I2C read bit
            return (m_duino.twiTransfer(address: addr, bytes: &bytes, length: length, stop_condition: true) > 0)
        }
        return false
    }

參見 GitHub 目錄下 /contributes/I2Cdev.swift

results matching ""

    No results matching ""