Forum: Mikrocontroller und Digitale Elektronik USART Einstellungen automatisch detektieren


von Chris (Gast)


Lesenswert?

Ich würde gerne den µC so programmieren, dass er USART Einstellungen des 
Kommunikationsteilnehmers (z. B. PC) automatisch erkennt und einstellt.

Eigentlich muss man doch nur nach einem Algorithmus alle Einstellungen 
durchgehen und am Kommunikationsteilnehmer das Kommunikationsprogramm so 
konfigurieren, dass anfangs ständig ein Zeichen (z. B. ein 'A') schickt. 
Dann wird im µC solange umgestellt, bis das das Zeichen ('A') empfangen 
wird. Danach schickt er µC dem PC ein Zeichen (z. B. 'B') zurück.

So könnte man das Board an verschiedenen PCs mit verschiedenen 
Konfigurationen anschließen.

Kann so was generell klappen? Können Bauteile dadurch beschädigt werden?



Vereinfacht könnte man nur die Bautrate detektieren.

von STK500-Besitzer (Gast)


Lesenswert?


von Dieter Werner (Gast)


Lesenswert?

Für diesen Zweck wird oft der Buchstabe 'U' verwendet weil der das 
Bitmuster (0)1010101 hat.

von Peter D. (peda)


Lesenswert?

Eine Version in C gibts hier (Anhang im 12. Beitrag).

Beitrag "LCD über nur einen IO-Pin ansteuern"

Ich benutze gerne das 0x0D zu Erkennung.
Ein Störimpuls gefolgt von einem 4-mal so langen ist relativ selten und 
damit ist die Erkennung sehr sicher.

Mehr als die Baudrate zu erkennen, dürfte allerdings schwierig werden.


Peter

von Kai G. (runtimeterror)


Lesenswert?

hmm... mit dem Nachregeln der Baudrate kann es dir aber passieren, dass 
du die so einstellst, dass die Kommunikation gerade so funktioniert. 
Besser wäre es sich von zwei Seiten zu nähern und dann die Mitte 
(arithmetisch oder harmonisch oder geometrisch) zu wählen. Das ist 
natürlich aufwändiger.

Was ich mir noch vorstellen könnte ist den rx-Pin zu pollen und per 
Software auszuwerten. Damit sollte man auch in Grenzen andere 
Informationen über das verwendete Frame-Format erhalten können.

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.