আমি পাই এবং আরডুইনোর মধ্যে আই 2 সি যোগাযোগ পরীক্ষা করছি।
ডক বলেছেন:
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);
}
}
আরডুইনোতে আমি এই আউটপুটটি দেখতে পাচ্ছি:
byte count=4
0123
আমার প্রশ্ন: cmd
প্যারামিটারটির ব্যবহার কী ? আমি আরডুইনোর কোনও পার্থক্য দেখতে পাচ্ছি না যার মধ্যে বাইট কোনটি উপস্থাপন করে।
আমি অনুমান করি যে এটি আমি দেখতে উপযুক্ত হিসাবে মোকাবেলা করতে পারি। সম্ভবত আমি কমান্ড হিসাবে প্রথম 2 বাইট ব্যবহার করতে চাই।
এই পৃষ্ঠায় পদ্ধতিটিতে খুব বেশি তথ্য নেই: http://wiki.erazor-zone.de/wiki:linux:python:smbus:doc
vals
, cmd
বাধ্যতামূলক।
cmd
প্যারামিটারটি কী তা সংজ্ঞায়িত করতে চাইতে পারেন ... আপনি কী বোঝাতে চেয়েছেন তা নির্ধারণের জন্য আমাকে বেশ কিছু করতে হয়েছিল। যদিও আমি কোনও উত্তর খুঁজে পাইনি ... এটি কেবলমাত্র জিপিআইও প্রসারণকারী বা কোনও কিছুর মতো নির্দিষ্ট চিপগুলি ব্যবহার করতে পারে ...