Python struct.unpack ("i", bytearray (data)) для Swift 4 - PullRequest
0 голосов
/ 21 декабря 2018

Python:

data = [0,0,0,0]
data[3]= self.i2cbus.read_byte_data(self.i2cadd, add)
data[2]= self.i2cbus.read_byte_data(self.i2cadd, add+1)
data[1]= self.i2cbus.read_byte_data(self.i2cadd, add+2)
data[0]= self.i2cbus.read_byte_data(self.i2cadd, add+3)
value = struct.unpack("i", bytearray(data))
return value[0]

Как это сделать в swift?Я сделал это до сих пор.

var data: [UInt8] = [0,0,0,0]
data[3] = i2c.readByte(address, command: command) ?? 0
data[2] = i2c.readByte(address, command: command + 1) ?? 0
data[1] = i2c.readByte(address, command: command + 2) ?? 0
data[0] = i2c.readByte(address, command: command + 3) ?? 0

Использование: https://github.com/uraimo/SwiftyGPIO

Это

    value = struct.unpack("i", bytearray(data))

Я не знаю, как это сделать.

1 Ответ

0 голосов
/ 21 декабря 2018

Попробуйте это:

var value : UInt32 = 0
let nsdata = NSData(bytes: data, length: 4)
nsdata.getBytes(&value, length: 4)
value = UInt32(bigEndian: value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...