Hallo Leute! Ich habe ein kleines Problem mit meinem GUI. Die Kommunikation zwischen den PC und mein Modul ist über den RS232 Protokoll und über das GUI möchte ich die Anschlusseinstellung(Baudrate, Stopp-Bit, Parität-Bit) bei jeder Verbindung ändern. Ich benutze schon µC-MSP430F1612 Hat jemand eine Idee woran das liegen könnte?? Wie kann ich automatische Anschlusseinstellung ändern. bin echt ratlos LG Delil
>bin echt ratlos
Geht mir genauso ;)
Vielleicht könntest du das ganze noch mal etwas ausführlicher
beschreiben, so das man versteht worum es genau geht und um welches
Problem es sich genau handelt.
Der MSP430 soll sich automatisch an andere Baudraten, Parity und Stopp-Bit Anzahl anpassen? Das wird nicht klappen. Die neuesten MSP430 Dinger haben eine Art Auto-Baudrate-Detection für LIN drin, aber die hat auch Grenzen. Wozu soll das ganze gut sein?
Wenn das tatsächlich gewünscht wird, dann sollte sich der Threadstarter mal den Algorithmus ansehen, der in Modems mit dem Hayes-Befehlssatz dafür verwendet wird - dazu dienen die Zeichen AT, mit denen jedes Kommando anfängt. Nur: Was soll das? Wozu soll das gut sein?
Hallo! Danke schon mal für die Antwort. Ich möchte mein Problem nochmal erläutern. Ich beschäftige mich gerade mit dem MSP430F1612 und möchte ich eine Kommunikation zwischen den PC und Controller herstellen und habe schon auf dem PC eine GUI-Software (es gibt über das GUI ein Menü für Anschlusseinstellung, die den User gewünschte Werte, -Baudrate, Stopp-Bit und Parität-Bit,- ausgewählt werden kann.)damit kann den User mit gewünschten Werte mit µC kommunizieren. Ziel ist es, bei jedem Verbindung den User Anschlusseinstellung beliebiger auswählen kann. Das Problem ist bei mir, wie kann der µC automatische Baudrate anpassen. viele Grüße Delil
Das lässt man einfach bleiben. Wozu soll das auch gut sein? Der Controller arbeitet mit fest vorgegebener Baudrate und restlichen Parametern, die GUI-Software bietet dem Benutzer dann eben auch nicht an, irgendetwas anderes zu konfigurieren. Wenn die GUI-Software eine allgemein gehaltene ist (wie z.B. HyperTerm), dann muss der Benutzer die richtigen Parameter einstellen, bevor die Kommunikation funktioniert. So ist das, so macht man das, so funktioniert das.
Mit einem Timer könnte man schon versuchen die Baudrate automatisch zu erkennen, aber einfach wird das nicht und eine Unsicherheit wird bleiben...
Nun, wie ich bereits schrieb, gibt es eine jahrzehntealte Herangehensweise, nämlich die im Hayes-Modembefehlssatz verwendete Erkennung anhand der definierten Zeichenfolge "AT". Daß es keinen nachvollziehbaren Grund dafür gibt, so etwas implementieren zu wollen, das steht auf einem ganz anderen Blatt.
Naja, dann hat man immer noch das Problem mit Parity, Anzahl der StoppBits, 7 oder 8 Bit Zeichen.....also lass es bleiben. Nahezu jedes normale RS232 Gerät hat eine feste Schnittstelleneinstellung. Sachen, die größtmögliche Flexibelität ermöglichen, enden meist im Desaster...
OK. Bei der Texas Instruments, sondern auf die Baudrate, gibt es ein Dokument Slaa215 (APN). Ich habe diese Anwendung ist nicht vollständig verstanden. Wie kann das Flußdiagramm als C-Code zu konvertieren. http://microblog.routed.net/wp-content/uploads/2006/09/slaa215.pdf
Wenn Du AppNotes von TI höchstselbst herunterlädst, findest Du auch zugehörige Sourcecodes: http://focus.ti.com/mcu/docs/mcusupporttechdocsc.tsp?sectionId=96&tabId=1502&abstractName=slaa215
Mit dieser Applikation Report versteht man die genaue Baudrate bestimmt werden kann. Aber kann man nicht direkt die Parität und Stopp-Bit erkennen.
Tja, dann lässt man das halt bleiben. Es hat ja sowieso keinen Sinn, wie Dir mehrfach nahegelegt wurde.
Wie beschrieben: Normalerweise setzt man die Baudrate des Controllers fest. Punkt. Dann ist für die serielle Kommunikation via EIA232 noch der zweite Teilnehmer einzustellen. es kann sein, dass deine GUI defaultwerte hat. Wahrscheinlich ist es das Standardprotokoll 8N1! Dann könntest du den Controller auch auf 8N1 laufen lassen, ohne dass du jedes mal was umstellen musst bei deiner GUI(welche auch immer es sein mag....) zur Baudrate und zu denen, die es nicht verstanden haben und auch nicht wollen: http://mspgcc.sourceforge.net/baudrate.html http://msp430.info/modules.php?name=Gadgets&op=uartc
>es kann sein, dass deine GUI defaultwerte hat
der User kann beliebiger Werte Auswählen. z.B. 7E1,8N1(12 Möglichkeit.)
ich möchte mit mein GUI mit flexibel Einstellung arbeiten. wie
beschreibt,nur
User kann geändert werden.
Liest Du eigentlich, was man Dir schreibt? Es ist sinnlos. Auch wenn Deine GUI eine Möglichkeit bietet, irgendwelche Einstellungen vorzunehmen, ist es sinnlos und bleibt sinnlos.
Nachtrag: Um Fehleinstellungen bei Parity Bits und Wortlänge erkennen zu können, müssen die verschiedenen Fehlerbits der UART ausgewertet werden. Dazu dienen in UxRCTL die Bits FE, PE und OE (Framing-, Parity- und Overrun-Error). Und wie ich bereits ad nauseam wiederholte: Sieh Dir die Dokumentation des Hayes-Modem-Protkolles in Bezug auf die Verwendung der Zeichenfolge "AT" an. Und wie auch schon andere ad nauseam wiederholt haben: Es ist und bleibt sinnlos.
Delil schrieb: >>es kann sein, dass deine GUI defaultwerte hat > der User kann beliebiger Werte Auswählen. z.B. 7E1,8N1(12 Möglichkeit.) > > ich möchte mit mein GUI mit flexibel Einstellung arbeiten. wie > beschreibt,nur > User kann geändert werden. Hast du das bei irgendeinem Programm schon mal gesehen? Sowas wird nirgends gemacht, das ist völlig sinnlos. Völlig beratungsresistent...wirst mal ein guter Chef.
Völlig beratungsresistent...wirst mal ein guter Chef. Pardon, bitte Respekt!!!Aber sie haben falsch verstanden. Die Idee ist von meinem Berater Meine Absicht hier ist nur eine Verhandlung. rufus hat schon meine Frage beanwortet
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.