Eingabe/Ausgabe-Fehler mit Python-Modul SMBus, ein Raspberry Pi und ein Arduino

Ich habe angeschlossen ein Raspberry Pi und Rainbowduino zusammen mit einem hausgemachten I2C - level-shifter und installiert Python Modul SMBus der Raspberry Pi, kann die Kommunikation mit dem Rainbowduino, aber jeder so oft bekomme ich eine input/output-Fehlermeldung, wenn Sie versuchen, den Befehl bus.write_i2c_block_data(address, signal, data).

Er sagt:

IOError: [Errno 5] Input/output error

Warum passiert es und wie kann ich das beheben oder ignorieren Sie diese Fehler?

  • Dieser Fehler ist noch im Gange. Es scheint zufällig zu sein, wenn es Auftritt. Manchmal wird es vorkommen, und der Befehl wird immer noch gesendet werden, zu anderen Zeiten wird es nicht. Dies könnte sein, dass aufgrund von Störungen? Ich dachte das smbus werden müssen, erhalten eine Bestätigung vom slave-Gerät, sonst wäre es ja kein Fehler, wenn der Befehl wurde erfolgreich empfangen (die Bestätigung ist gestört, wodurch der Fehler). Anderenfalls wird die übertragung ist gestört und damit der Sklave nicht, senden Sie eine entsprechende Bestätigung
  • Ich bin mit dem gleichen problem....
  • Ich habe nicht gefunden, eine Lösung für dieses problem, obwohl ich denke, dass es verursacht wird durch clock-skew, also die Verringerung der I2C-Geschwindigkeit auf dem RaspberryPi helfen kann, obwohl alle Implementierungen, die scheinen ein bisschen chaotisch. Manchmal sind die Befehle durch zu gehen, aber das Modul immer noch Fehler, und manchmal wird der Befehl nicht durch gehen und Fehler. Daher habe ich das setup eine Weile versuchen, catch-system, das versucht, senden Sie den Befehl erneut aus, wenn es zu einem Fehler. Mit diesen Paketen sende ich eine zwei-byte-Paket-Nummer. Wenn der Rainbowduino hat bereits Maßnahmen in diesem Paket/Befehl, dann ignoriert Sie es, lassen Sie mich wissen, wenn Sie brauchen code
  • Ich habe eine Lösung mit bus = SMBus(1) statt bus = SMBus(0) (ich bin mit dem 512-MB-RPi). Ich weiß nicht, ob dies die Lösung für dein problem.
InformationsquelleAutor holmeswatson | 2013-03-06
Schreibe einen Kommentar