I²C Software Master auf dem mit Interrupts?

Gast #155783
Lesenswert?
• ▲
▼
Hi,

kennt jemand von euch eine I²C-Implementation für den ATMega8 die nicht
den TWI-Interrupt benutzt (der ist hier schon durch einen I²C-Slave
belegt)

Peter Fleurys Code [1] ist mir bekannt, aber eigentlich würde ich gerne
auf die Wartezyklen verzichten (also zum Beispiel stattdessen einen
Timer/Counter-Interrupt verwenden)

Dankeschön und viele Grüße,
Levin

[1]
<http://homepage.sunrise.ch/mysunrise/peterfleury/avr-software.html>;
Gast #155787
Lesenswert?
• ▲
▼
Ich auch :)  aber ich hätte gerne ein bisschen Beispielcode damit ich
nicht alles selber schreiben muss.

Leider ist die Platine schon fertig und die Ports nicht interruptfähig.
 Ich glaube aber nicht das das problematisch ist.  Ich wollte den Master
mit einem Timer/Counter steuern (es sei denn ihr habe einen bessere
Idee)
Gast #155788
Lesenswert?
• ▲
▼
Wenns nur um einen Master geht, kann man auch ohne Interruptfähige Ports
auskommen, es wird nur schwieriger, evtl. Wait-States abzufragen.
Einen fertigen Code kann ich nicht liefern, nur eine Code-Idee (so
etwas habe ich mal mit einer RS-232 gemacht).
Zunächst brauchst Du einen Interrupt, der mit der 4-fachen
Geschwindigleit der Bus-Geschwindigkeit ausgelöst wird. Damit rufst Du
eine State-Machine auf, die den Bus bedient.
Das ist eine recht komplizierte Geschichte, aber die einzige
Möglichkeit, das Ganze Interrupt-basiert laufen zu lassen.
Hast Du schonmal in der Code-Sammlung nachgeschaut? Evtl. gibts da
schon etwas fertiges.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren