Я тестую i2c-зв’язок між Pi та Arduino.
Доктор каже:
write_i2c_block_data(addr,cmd,vals) Block Write transaction. int addr,char cmd,long[] None
У мене є цей тест:
На Пі:
import smbus
bus = smbus.SMBus(0)
bus.write_i2c_block_data(address, 48, [49, 50, 51] )
На Ардуїно:
void receiveData(int byteCount){
Serial.print("byte count=");
Serial.println(byteCount);
while(Wire.available()) {
number = Wire.read();
Serial.print((char)number);
}
}
У Arduino я бачу цей вихід:
byte count=4
0123
Моє запитання: яке використання cmd
параметра? Я не бачу різниці на Arduino, який байт являє собою що.
Я думаю, я можу з цим розібратися, як вважаю за потрібне. Можливо, я хочу використовувати перші 2 байти в якості команди.
На цій сторінці не так багато інформації про метод: http://wiki.erazor-zone.de/wiki:linux:python:smbus:doc
vals
, cmd
є обов'язковим.
cmd
параметр ... Мені довелося трохи поглянути, щоб зрозуміти, що ви мали на увазі. Я не знайшов відповіді, хоча це може бути використано лише для конкретних мікросхем, таких як розширювач GPIO або щось подібне ...