Forum: Compiler & IDEs I²C / TWI Hello World?


von tobiTob (Gast)


Lesenswert?

Hi,

nun ich habe schone einige Sachen realisiert und möchte mich nun an den 
I²C / TWI ranwagen. Ich möchte das 2 AVR's über diese Verbindung 
miteinander kommunizieren können.

Ein ATmega 644 soll der "Chef" sein also der Master, ein ATmega16 der 
Slave.

Brauche ich nun speziele Librarys oder geht das schon mit den 
mitgeliferten Funktionen aus dem GCC ?

Würde mich freuen wenn ihr mich ein wenig unterstüzen könntet.

MfG Tobi...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Naja, das "Hello world!" sollte ja das einfachste mögliche/sinnvolle
Programm sein.  Da gebietet es sich, dass man nur eine Unbekannte
reinnimmt und folglich als Ziel erstmal ein Gerät, das von sich aus
dafür bekannt ist, I²C funktionierend implementiert zu haben.  Daher
benutzt das twidemo aus den avr-libc-Beispielen als Ziel einen
24Cxx-EEPROM.  Die Teile sind einfach erhältlich, wenn du einen alten
PC-Speicherriegel rumliegen hast, ist da einer drauf, den du anzapfen
kannst.  Der hat auch schon was drin stehen, du hast also eine einfache
Erfolgskontrolle. ;-)

Wenn du das am Laufen hast, kannst du dir ja überlegen, wie ein zweiter
AVR als Slave aussehen sollte.  Ich möchte nicht behaupten, dass ein
Oszi zwingend notwendig für die Inbetriebnahme ist, aber er kann
zumindest sehr sinnvoll sein, vor allem, falls sich der Bus verklemmt
(was bei einem fehlerhaften Software-I²C-Slave schon mal passieren
könnte).

von tobiTob (Gast)


Lesenswert?

Hallo,

muß zwar gleich los aber ich möchte vorher noch schnell antworten.
Also das schau ich mir mal an. Zuerst so nen IC besorgen, hab ich hier 
nicht rumliegen. :-(

Ich habe gesehen das es etliche Sachen gibt die man per I²C ansprechen 
kann. Eine Porterweiterung oder ein Temperatursensor sind die dann vom 
"Prinzip" gleich?

Ich versuch erstmal der EEPROM...


Gruß Tobi...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

tobiTob wrote:

> muß zwar gleich los aber ich möchte vorher noch schnell antworten.
> Also das schau ich mir mal an. Zuerst so nen IC besorgen, hab ich hier
> nicht rumliegen. :-(

Wirklich keinen einzigen alten Speicherriegel?  Kein altes PC-Board
mit system management bus?

> Ich habe gesehen das es etliche Sachen gibt die man per I²C ansprechen
> kann. Eine Porterweiterung oder ein Temperatursensor sind die dann vom
> "Prinzip" gleich?

Mehr oder minder.  Der EEPROM wird zumindest sowohl gelesen als auch
geschrieben, andere Geräte haben teilweise nur eine der beiden
Datenrichtungen.

Bibliotheken (im Sinne von Objektmodul-Bibliotheken) für sowas sind
nicht ganz so einfach, jedes I²C-Gerät ist doch irgendwie bisschen
anders.  Aber aus den existierenden Quellen copy&paste sollte einiger-
maßen schnell zum Erfolg führen.

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.