Hi, ich habe folgendes Problem: Ich habe bereits ein Bussystem zwischen mehreren AVRs aufgebaut. Bis jetzt hat es folgendermaßen funktioniert: über Uart -> RS485 Baustein in Halbduplex Uart Einstellungen waren 9N1 9,6kbaud das 9. Bit zeigte immer an, ob es sich um die Busadresse oder das letzte Datenbyte handelte. Nun habe Ich jedoch einen Controller, der kein 9. Datenbit verwalten kann. Wie führt man nun eine Sinnvolle Erkennung der Framelänge durch? Für Ideen oder Anregungen wäre ich dankbar MfG
Diese Neun-Bit-Geschichte ist m.E. eine ziemliche Schummel-Lösung. An Deiner Stelle würde ich einen sauberen (Neu-)Ansatz wählen und MODBUS RTU implementieren, z.B. auf Basis von FreeMODBUS. Da funktioniert es dann auch mit acht Bits. Keine Angst, das hört sich viel aufregender und -wendiger an, als es tatsächlich ist.
Hi >Diese Neun-Bit-Geschichte ist m.E. eine ziemliche Schummel-Lösung. Wenn man nicht solche Sonderwünsche, klappt das ausgezeichnet. >das 9. Bit zeigte immer an, ob es sich um die Busadresse oder das letzte >Datenbyte handelte. Das mit der Endeerkennung ist auch nicht unbedingt im Sinne des Erfinders. MfG Spess
MODBUS RTU hört sich gut an, habe bis jetzt immer gedacht Modbus wäre sehr Komplex. Werd ich mal google Bemühen. Danke schonmal
Miche L. schrieb: > Nun habe Ich jedoch einen Controller, der kein 9. Datenbit verwalten > kann. Was für einen Controller?
UART1 des 1768 hat RS485-Hardware-Support und kann den 9 Bit Modus. Siehe UM10360 (Rev. 01 - 4 January 2010) Kapitel 15 Abschnitt "4.21 RS-485/EIA-485 modes of operation" auf Seite 337. fchk
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.