Hallo, ich möchte mehrere (mind. 2) AVRs miteinander vernetzen, wobei jeder sowohl Senden als auch empfangen soll. Versucht habe ich das ganze mit TWI unter gcc, was auch funktioniert hat. Das Problem ist nur, dass sich der TWI-Bus beim Entfernen und "Wiederanstöpseln" der Busleitung aufhängt und der Controller neu gestartet werden muss. Mit dem Oszilloskop habe ich herausgefunden, dass das ein Hardwareproblem von TWI (zumindest des AVR) zu sein scheint, denn diverse Softwaretricks haben nur teils zum gewünschten Ergebnis geführt. Hat irgend jemand schon Erfahrungen, welches Bussystem für die obige Anforderung (Entfernen und Wiederanschließen eines Teilnehmers) eingesetzt werden könnte bzw. hat schon eine ähnliche Anforderung umgesetzt (RS485 (bzw. RS232), USB, CAN, Ethernet, ...)? Und wenn ja, wie aufwendig wird das hard- und softwaremäßig? Derzeit verwende ich den ATMega16. Viele Grüße und Danke im voraus francesco
Das geht mit TWI schon, ABER ... einer der µC muß Master sein und immer "da" dieser fragt halt nacheinander einen gewissen Adresseraum ab und hocht auf antworten. Wichtig dabei ist das du natürlich einen Timeout einbaust sonst kann ein zur falschen Zeit abgezogener AVR dir den Bus blockieren.
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.