Guten Tag, Ein Textdatei enthält X- und Y-Koordinate und ist in meinem PC unter Windows XP gespeichert. Mein Ziel ist die Übertragung von Koordinaten über die Schnittstelle RS232 des PCs bis zu einem Mikrocontrollerboard. Dann die empfangenen Koordinaten, die sich im Mikrocontrollerboard befinden, werden über eine zusätzliche schnittstelle RS485 zu Zwei Motortreiber SMCI33-2 von Nanotec gesendet. Außerdem soll ein SMCI33-2 die X-Koordinaten empfangen und der andere SMCI33-2 empfängt die Y-Koordinaten. Weiterhin besitzt jeder SMCI33-2 eine Schnittstelle RS485 , um die Koordinaten zu empfangen. Ich habe für mein Experiment der Mikrocontroller 644p, da er zwei UARTs besitzt. Ein UART der 644p soll über die Schnittstelle RS232 die koordinaten von PC empfangen und der andere UART der 644p wird über die Schnittstelle RS485 die Koordinaten an den beiden SMCI33-2 übertragen. Da die Motortreiber SMCI33-2 die Schnittstelle RS485 haben. Ich habe die Schaltung auf ein Steckboard gebastelt und einige Teste ohne Schwierigkeiten durchgeführt. Kurz gesagt, die Schaltung läuft gut. Anschließend wurde eine C++-Code geschrieben, um die X- und Y-Koordinaten vom PC zum Mikrocontrollerboard 644p zu senden. Diese Phase hat auch geklappt. Nun möchte ich die Koordinaten, die sich in Mikrocontrollerboard 644p befinden,über die zweite UART (Schnittstelle RS485) zu den beiden Motortreiber SMCI33-2 übertragen. Ich habe eine C-Code unter der Entwicklungsumgebung AVR Studio 4 geschrieben und dann compiliert. Zwar bekomme ich keine Fehlermeldung, aber meine beide Motortreiber empfangen keine Daten. Woran kann das liegen ? kann jemand von euch mir helfen ? Anbei der Textdatei, meine C- und C++-Code N.B: Allerdings besitzt der Motortreiber SMCI33-2 seine eigene Befehle. Wenn man die SMCI33-2 ansprechen möchte, dann soll man diese Anweisungen verwenden. BSP einer Anweisung: '#1A\r' # -----> Startzeichen eines Befehls 1 -----> Adresse des Motortreibers A -----> Starten eines Satzes(Eigentliche Anweisung) \r ----> Endzeichen eines Befehls '' ----> Zeichen, das sich immer vor dem Startzeichen (#) und nach dem Endzeichen (\r) befinden. Danke im Voraus. Mit besten Grüßen. Luffy
:
Gesperrt durch User
Ist zwar bisschen alt, habe diesen Beitrag gefunden, weil ich selbst ein Problem hatte. monkey luffy schrieb: > '' ----> Zeichen, das sich immer vor dem Startzeichen (#) und nach dem > Endzeichen (\r) befinden. 1. Du solltest es ohne die '' Zeichen Schicken.. 2. Habe mir deinen code durchgesehen du schickst einen String mit \r am ende. Ich bin mir nicht sicher ob dass die Schrittmotorsteuerung als CR (carriage return) oder als zwei zeichen nämlich einmal '\' und einmal 'r' erkennt. Schließ mal eienne Serial Port monitor dazu und schau dir an was wirklich gesendet wird (am besten HEX Code und dann in einer ASCII Tabelle vergleichen)
Davor schrieb: > Ist zwar bisschen alt, habe diesen Beitrag gefunden, weil ich selbst ein > Problem hatte. Hättest du ihn bloss dort gelassen. monkey luffy ist zwar ein armer Hund, aber ist jemand, der versucht dadurch zu programmieren, indem er Codestücke, die er Gott weiß wo aufgeschnappt hat zusammenkopiert und solange bearbeitet, bis alle Fehlermeldungen weg sind. Was sich in dem Code tut, davon hat er wenig bis keine Ahnung. Von einfachen Softwarekonzepten hat er keine Ahnung. Und nein. Das war nicht sein erstes Posting. Da gabs mehrere zu dem Thema. Ich kann nur hoffen, das er es irgendwann eingesehen hat und sich jemanden 'eingekauft' hat, der ihm seine UART Weiche programmiert hat.