Pi와 Arduino 간의 i2c 통신을 테스트하고 있습니다.
의사는 말합니다 :
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 확장기와 같은 특정 칩에서만 사용할 수 있습니다.