Я тестирую i2c связь между Пи и Ардуино.
Док говорит:
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 или что-то в этом роде ...