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
> -Warten auf Byte vom Master > -Überprüfen ob für diesen Slave relevant > -Daten auswerten > Ist das ansatzweise richtig? Ja.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.