Forum: Mikrocontroller und Digitale Elektronik Bascom Hardware I2C-Slave


von peter conrad (Gast)


Lesenswert?

Moin,


ich bin noch ziemlicher Anfänger in Sachen MC und AVR.  In BASCOM-Basic
komme ich schon einigermassen klar. In ASM schaffe ich es allerdings
gerademal 'ne LED blinken zu lassen. Aus diesem Grunde möchte ich
meine beiden Mega8 mit Hilfe von Bascom überreden miteinander zu
kommunizieren.
Bei meiner Suche hier im Forum und eifriger Googelei fand ich
eigentlich nichts handfestes ausser der Bascom Softwareimplementierung
eines I²C-Slaves. Fast überall stand dann noch geschrieben
(sinngemäss):das lohnt nur für "kleine" AVR's denn die anderen haben
ja Hardware-TWI. Nur, darauf wie man dies als I²C-Slave nutzt wurde NIE
weiter angerissen.
Gibt es da irgendwo im Inet 'ne Library oder ein Programmbeispiel das
ich bisher übersehen habe? Ich bin für jeden Tip dankbar.

Meine Überlegungen zum Ablauf wären folgende:
-Warten auf Byte vom Master
-Überprüfen ob für diesen Slave relevant
-Daten auswerten
Ist das ansatzweise richtig?

MFG
Peter

von ich (Gast)


Lesenswert?

moin,

schon mal bei http://www.roboternetz.de versucht?
da sind viele die mit bascom basteln...

von Einer der Bernds (Gast)


Lesenswert?

> -Warten auf Byte vom Master
> -Überprüfen ob für diesen Slave relevant
> -Daten auswerten
> Ist das ansatzweise richtig?

Ja.

von Messfux (Gast)


Lesenswert?

Serielle Schnittstelle, müßte der Mega 8 haben?.

Gruß

Messfux

von Peter Dannegger (Gast)


Lesenswert?

I2C-Slave in Software ist Nonsens, schafft der AVR nicht, zumindest
nicht bei 100kHz.

Man braucht unbedingt das Hardware-TWI !

Und da sind doch die Ablaufdiagramme im Datenblatt wunderschön
beschrieben (Slave-Receiver, Slave-Transmitter), was will man mehr.

Einfach im TWI-Interrupt das Statusbyte auslesen und genau nach
Ablaufdiagramm handeln.


Peter

von Kai Ludwig (Gast)


Lesenswert?

Hallo zusammen.

!!! Nix "nonsense" !!!

Der AT90S2313 mit 10 MHz Takt schafft 50 KHz SCL sauber und kann dabei
parallel und OHNE Jitter Servos steuern, PWM machen oder Spannungen
messen.

=> http://www.talentraspel.de/portal/index.php?id=219

Wenn man nun einfach den Tiny2313 mit 20MHz nimmt, klappt es auch mit
20 MHz.


Viel Spass mit meiner Software,
Kai Ludwig.

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.