Hallo zusammen, da der I2C durchaus mal "hängen bleiben" kann, muss man Methoden vorsehen, um ihn wieder "frei zu machen". Meine konkrete Anwendung ist zum Glück nur mittel anspruchsvoll - es gibt zwar mehrere Teilnehmer, aber nur einen Master. Wenn ich das richtig verstanden habe, wird der Takt immer vom Master erzeugt, egal ob er empfängt oder sendet. Das würde bedeuten, dass in meinem Fall wo es nur einen Master gibt, kein anderer Teilnehmer die Taktleitung DAUERHAFT low ziehen kann. Außer den beiden AD Wandlern, die während ihrer Sampling und Conversiontime ein Clockstretching machen, was aber vorrübergegehnd ist. >Das heißt, es bliebe nur übrig, dass ein Slave SDA dauerhaft LOW zieht? >1) >Ein Klassiker ist, dass SDA von einem Slave permanent LOW gehalten wird, >weil ein Taktpuls "verloren" gegangen ist. >>Da kann man einfach die Taktleitung ein paar mal manuell toggeln und nach >>spätestens 9 mal ist der Slave durch seine Statemachine geschoben. >2) >Gibt es andere Szenarien, die ich bedenken muss? viele Grüße, Chefkoch
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.