Pi ve Arduino arasındaki i2c iletişimini test ediyorum.
Doktor diyor ki:
write_i2c_block_data(addr,cmd,vals) Block Write transaction. int addr,char cmd,long[] None
Bu test var:
Pi'de:
import smbus
bus = smbus.SMBus(0)
bus.write_i2c_block_data(address, 48, [49, 50, 51] )
Arduino'da:
void receiveData(int byteCount){
Serial.print("byte count=");
Serial.println(byteCount);
while(Wire.available()) {
number = Wire.read();
Serial.print((char)number);
}
}
Arduino'da şu çıktıyı görüyorum:
byte count=4
0123
Sorum şu: cmd
parametrenin kullanımı nedir? Arduino'da baytının neyi temsil ettiği konusunda bir ayrım görmüyorum.
Sanırım bir uyum uygun olarak başa çıkabilirim. Belki de ilk 2 baytı komut olarak kullanmak istiyorum.
Bu sayfada yöntem hakkında fazla bilgi yok: http://wiki.erazor-zone.de/wiki:linux:python:smbus:doc
vals
, cmd
zorunludur.
cmd
Parametrenin ne olduğunu tanımlamak isteyebilirsiniz ... Ne demek istediğini anlamaya çalışmak için birazcık yapmak zorunda kaldım. Yine de bir cevap bulamadım ... Sadece GPIO genişletici ya da başka bir şey gibi belirli yongalar tarafından kullanılabilir ...