Frage

  

Die glanzlos Antwort hier machte mich fragen diese .

Ich habe mit einem Gerät aufgebürdet worden (Analog Devices 525x) dass (aus dem Datenblatt, S. 16):

  

deaktiviert die I2C-Schnittstelle während des internen [EEPROM] Schreibzyklus.

Das scheint nicht fair, wie in „ Ich bin immer von der Couch jetzt, so verwenden Sie es nicht für eine Weile, weil ich einen Riss in dem Sitzkissen lassen “. Ehrlich gesagt, warum sollte das mein Problem sein?

Wie auch immer, schlägt die Datenblatt, dass acknowledge Polling ist die Antwort - geben Sie die Linux-Kernel ... hat die Linux GPIO Bit bashed I2C-Treiber einen Mechanismus bereitstellen, um dies zu tun im Wesentlichen einer Adresse mit? der Schreib-Bit-Satz und hält so, bis ein ACK erscheint tun.

Ich verwende 2.6.14 auf einem ARM mit zurück GPIO portiert Bit-Treiber Bashing (von 2.6.19 glaube ich).

War es hilfreich?

Lösung

Es ist nicht scheinen aus dem Regal, aber

Sie werden wahrscheinlich zu sehen brauchen ein Protokoll Modifikation Flagge wie Flag I2C_M_NOSTART an mit nur anders, in Patches. Zumindest gibt es eine Möglichkeit, es (zugegebenermaßen eine schmutzige Art und Weise)

zu tun

Ich hoffe deinetwegen Sie nicht brauchen, um ein normales i2c Gerät auf dem gleichen Bus zu setzen.

Ehrlich gesagt, Hardware-Anbieter tun Sachen wie diese die ganze Zeit. Sie betrachten das Problem „gelöst“, solange wird es Ihnen.

Ich sehe viele gebrochenen I2C da draußen und man kann das Leben schöner für andere Menschen machen.

Andere Tipps

Sounds wie Sie müssen die Kernel-Treiber für das I2C-System neu zu schreiben, um dies zu ermöglichen?

Auch, was über den Kernel aktualisieren und sehen, was seit 2.6.14 geschehen ist, das eine ziemlich alte Kernel-Version jetzt ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top