Hi,
schwer zu sagen, welchen Fehler ich habe, da Linux mir derzeit nur einen result-code -1 zurück gibt.
Leider streikt auch mein I2C Bus Monitor bei dieser Speed (250k). Der zeigt nur Teile der Übertragung an.
Der ist mit 100kBaud schon an seiner Grenze und kann auch hier längere Protokolle nicht mehr mitschreiben.
Ich versuche gerade den Fehler weiter einzugrenzen (c++-linux). Ein einziger Schreibbefehl auf eine Variable scheint kein Problem zu sein. Sende ich mehrere Bytes in einem Rutsch herunter, hat der Kontroller wohl ein Problem.
Ich habe die Routine auch schon dahin geändert, das ich das AC/NACK wirklich am Ende der Routine sende, damit der Master nicht schon wieder mit der nächsten Datenübertragung beginnt, bevor der Kontroller die Interrupt-Routine verläßt. Viel schneller geht es wirklich nicht.
Bei Lesen erscheint das Problem nicht derart. Ich vermute evtl. also auch noch einen Bug in meiner Schreib-Routine. Kann Ihn aber derzeit nicht mehr sehen (Amtel Code).
Derzeit habe ich einen 200Mhz CPU für Linux im Einsatz, die 400Mhz CPU liegt aber schon auf dem Schreibtisch und wartet auf dem Einbau. Ich habe da schon die Vermutung, das das ganze noch schlimmer wird, da hier dann das Abtaster Raster kürzer wird.
Gruss R.
Lesezeichen