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