I²C Software Master auf dem mit Interrupts?

Gast #155783
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
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
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

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.