ฉันกำลังทดสอบการสื่อสาร i2c ระหว่าง Pi และ Arduino
หมอพูดว่า:
write_i2c_block_data(addr,cmd,vals) Block Write transaction. int addr,char cmd,long[] None
ฉันมีแบบทดสอบนี้:
บน Pi:
import smbus
bus = smbus.SMBus(0)
bus.write_i2c_block_data(address, 48, [49, 50, 51] )
บน Arduino:
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 หรือบางอย่าง ...