www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 2 AVRs via I2C miteinander koppeln ?


Autor: Peter Freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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....

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ?

Autor: Matthias Weißer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

nur C kann ich anbieten. Das BASCOM Zeugs ist wahrscheinlich nur ein
Software-I2C-Master.

Matthias

Autor: Peter Freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Markus Burrer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Wolfram Szentiks (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
da gibts von MCS ne neue Library, I2CSlave, damit können dann auch
Laien (wie ich) den AVR´s Slave Adressen zuweisen..

Gruß Wolfram

Autor: Peter Freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.