2 AVRs via I2C miteinander koppeln ?

Gast #50913
Hat das schonmal jemand gemacht ? Bei den Megas gibts ja das I2C/TWI an
Bord. Wie macht man denn da die adressierung der µCs ? Also wenn ich
von einem auf den anderen zugreifen will braucht man ja die Adresse.
Ich hab zwar mit Bascom ein wenig experimentiert bin aber noch zu
keinem Ergebnis gekommen. Ich weiß nicht wie man da eine Adresse
zuweist.

Bitte helft mir....
Gast
Hi

die schreibt man jedem AVR ins TWAR. Kannst du also frei wählen.
Anschließend mußt du einfach in jedem INT vom TWI das TWSR auswerten
und das TWCR entsprechend setzen.

Matthias
Gast
Gibt es eine Möglichkeit das in Bascom zu machen ?

Da gibt es ja die Befehle I2CSEND , I2CSTART , I2CSTOP , I2CRBYTE ,
I2CWBYTE. Ich hab aber bisher keinen Befehl gefunden wie man in Bascom
deinen Vorschlag umsetzen könnte.
Könntest du eventuell einen kurzen Abschnitt als Beispiel in Assembler
posten ?
Gast
Ja, nachdem ich das in der Hilfe von Bascom gecheckt glaube ich das
auch. Von C hab ich zwar absolut keinen Plan aber wenn du so freundlich
wärst poste mal deinen Code. Vielleicht kann ich das ja in Assembler
umschreiben :(

MfG
Gast
Der AVRco hat ein Mininetzwerk mit Master/Slave oder Multi-Master
implementiert. Funzt 1a. Die Demo gibts bei www.e-lab.de, ne günstige
Mega8 Version bei www.embedit.de
Gast
Meinst du die kostenplichtige Library (5€) ?
Soweit ich weiss ist das eine Softwareimplentierung der TWI
Schnittstelle.
Ehrlich gesagt brauche ich das auch nicht mehr. Ich habe anhand des
Datasheetes meine eigenen TWI / I2C Routinen in Bascom geschrieben.
Da wird die Hardware-TWI der Mega Baureihen ausgenutzt. Funktioniert
wunderbar. Ich hatte am Anfang mit der Antwort von Matthias nix
anfangen können. Jetzt weiss ich wofür TWAR,TWBR,TWCR,TWDR und TWSR gut
ist.

TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN)   :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 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.