Forum: Mikrocontroller und Digitale Elektronik ATmega8 TWI <- ATtiny26 USI TWI, clock stretching?


von Paul H. (powl)


Lesenswert?

Hi.

Wollte mal ob ich mit meinem ATtiny26 als Slave ein Clockstretching 
fabrizieren könnte und mein ATmega8 als Master auch gewillt ist darauf 
zu reagieren bzw. zu hören. Mir ist nämlich aufgefallen dass in der ISR 
des Tiny teilweise zuviel Code abgearbeitet werden muss und der Bus 
schon weiterläuft während der Tiny noch am schaffen ist.. das resultiert 
dann in einem NACK bzw Fehler eben..

kann ich die clockleitung beim Tiny USI auf low ziehen indem ich einfach 
das PORT-bit auf low setze und das DDR-bit auf high? Kommt der Mega 
damit klar?

mfg PoWl

von Michael Nagler (Gast)


Lesenswert?

Vermutlich ja!
Du musst nur darauf achten, dass der Master SCL nicht aktiv auf High 
zieht, sondern diese Aufgabe dem Pull up Widerstand überlässt. Wenn der 
Master die übliche TWI-Implementierung verwendet, macht er das so. Ein 
kleiner Schutzwiderstand in der SCL-Leitung wird Schäden vermeiden.

Gruß
Michael

von Paul H. (powl)


Lesenswert?

beim ATmega8 vertraue ich voll und ganz auf das TWI-modul. Ich probiere 
das eben mal aus.. so eine scheisse ich beschäftige mich schon seit 
einer ganzen Woche mit dem scheiss USI!!!

//Edit:
So, habe das mal versucht aber jetzt geht irgendwie garnix mehr.. beim 
Daten senden bleibt er einfach hängen. Bzw. der Master empfängt kein 
ACK.. scheint wohl nicht auf den Slave warten zu wollen. Kann ich das 
irgendwie überprüfen?

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
Noch kein Account? Hier anmelden.