PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] BAUD Rate für UART einstellen?



basteluwe
11.02.2016, 07:57
Ich finde in den Beschreibungen nichts dazu, daher hier die Frage:
"Wie und wo stelle ich die Baudrate (ich brauche 9600) für die UART-Kommunikation der M256-WiFi ein?"

Gruß Uwe

SlyD
12.02.2016, 16:26
Hallo,

schau mal in der initRP6M256 Funktion in der Datei RP6M256Lib.c in der RP6Lib.

Für die anderen UARTs (die nicht für USB/Bootloader/WLAN genutzt sind) läuft das genau so.
#defines für die Baudratenberechnung sind in der RP6M256.h Datei zu finden, einfach kopieren und Wert anpassen.

MfG,
SlyD

Dirk
12.02.2016, 19:21
Hi Uwe,

wenn es bei diesem neuen Thread um dasselbe geht wie in deinem Thread SpeakJet Ansteuerung in C (https://www.roboternetz.de/community/threads/68679-SpeakJet-Ansteuerung-in-C), dann must du ja die Baud-Initialisierung für die UART1-Lib so machen wie hier (http://rn-wissen.de/wiki/index.php?title=RP6v2_USB-RS232-Adapter#Initialisierung) beschrieben.

Für 9600 Baud nimmst du anstelle von UBRR_BAUD_LOW (38400 Baud) einfach UBRR_BAUD_LOW_WIFI.

basteluwe
13.02.2016, 10:25
Hallo,

schau mal in der initRP6M256 Funktion in der Datei RP6M256Lib.c in der RP6Lib.

Für die anderen UARTs (die nicht für USB/Bootloader/WLAN genutzt sind) läuft das genau so.
#defines für die Baudratenberechnung sind in der RP6M256.h Datei zu finden, einfach kopieren und Wert anpassen.

MfG,
SlyD
Hallo SlyD,
Danke soweit, aber ich denke, da komm ich noch nicht mit!
Ich bin noch auf dem Level "Fred Feuerstein" das heißt, ich brauch die Hilfe "zum Mitmeißeln". Ich versuchs erst mal mit Dirks Hinweis.
Gruß Uwe

- - - Aktualisiert - - -


wenn es bei diesem neuen Thread um dasselbe geht wie in deinem Thread SpeakJet Ansteuerung in C (https://www.roboternetz.de/community/threads/68679-SpeakJet-Ansteuerung-in-C), dann must du ja die Baud-Initialisierung für die UART1-Lib so machen wie hier (http://rn-wissen.de/wiki/index.php?title=RP6v2_USB-RS232-Adapter#Initialisierung) beschrieben.

Für 9600 Baud nimmst du anstelle von UBRR_BAUD_LOW (38400 Baud) einfach UBRR_BAUD_LOW_WIFI.
Hallo Dirk,
Richtig, es geht um den Speakjet, aber da ich wegen der Baud-Einstellerei bisher hier und in den Beschreibungen gar nichts gefunden hatte, dachte ich eine getrennte Frage war OK. Das betrifft ja vielleicht auch andere Probleme als den Speakjet.

Zu deinem konkreten Hinweis:
Ich habe deiner Anleitung im WIKI folgend eine RP6M256uart1.c und RP6M256uart1.h Datei geschaffen und in das selbe Verzeichnis kopiert, wo die ...uart.c und ...uart.h liegen. Ist es richtig, daß ich in der RP6M256Lib.h noch eine include-Anweisung für die neue ...uart1.h Datei einfügen muß?

Gruß Uwe

Dirk
13.02.2016, 11:20
Hi Uwe,ja, die UART1 Lib muss mit include eingebunden werden.Ich würde aber nicht die M256 Library verändern, sondern das include in dein Hauptprogramm aufnehmen:#include "RP6M256uart1.h" // M256 UART1 function lib(Grund: Vielleicht brauchen andere Programme für die M256 nicht die UART1 Lib,- die wäre dann aber immer eingebunden.)Die UART1 Lib muss auch noch ins makefile eingetragen werden:SRC += $(RP6_LIB_PATH)/RP6control_M256_WIFI/RP6M256uart1.c

basteluwe
14.02.2016, 15:40
Hi Dirk,
das hatte ich mir schon gedacht und was soll ich sagen? ES FUNKTIONIERT!!! Yippea!!!
Ich war gestern so happy! :)
Ich benutze nun den UART1. Im Moment update ich meine Webseite mit dem aktuellen Stand und werde dann auch hier mal das Ergebnis vorstellen.
Danke für Deine Hilfe und Dank natürlich auch an SlyD

Einen schönen Restsonntag noch,
Uwe

Dirk
14.02.2016, 18:51
Hi Uwe,

Glückwunsch!
Dann kann der RP6 ja rumdüsen und sagen: "Beiseite! Hier kommt der RP6!"

Noch zu deiner Web-Seite:
Bei der Initialisierung müßte das so, wie es da steht, noch mit 38400 Baud arbeiten.
Für 9600 Baud müßte da die Definition UBRR_BAUD_LOW (zweimal) durch UBRR_BAUD_LOW_WIFI ersetzt werden (Definitionen stammen aus der RP6M256.h).

Übrigens: Tolle Seite!

basteluwe
15.02.2016, 10:47
Noch zu deiner Web-Seite:
Bei der Initialisierung müßte das so, wie es da steht, noch mit 38400 Baud arbeiten.
Für 9600 Baud müßte da die Definition UBRR_BAUD_LOW (zweimal) durch UBRR_BAUD_LOW_WIFI ersetzt werden (Definitionen stammen aus der RP6M256.h).

Hi Dirk,
na klar habe ich vergessen, den "_WIFI" Zusatz einzufügen. Copy & Paste bei "disable BRAIN" halt ;)
Und Danke fürs Lob!

Gruß Uwe