Hallo, ich hab ein Sparkfun RS485 Breakoutboard an meine STM32 USART2 angeschlossen und an meinem PC ein Digitus RS485 zu USB Adapter dran. Die Programmierung seitens STM32 stimmt schon mal, ich sende an den PC im 1 sekunden Takt, 0xdf und empfange im HTERM aber 01 00 (hex) _ \n (ascii). statt 0xdf, woran kann das liegen? B geht an RS485+ A geht an RS485- G an Ground Am Oszi sah eigentlich auch alles normal aus. Hat jemand einen Tipp? Viele GRüße Sven
Sven S. schrieb: > Die Programmierung seitens STM32 stimmt schon mal Woher weist Du das? Bist Du mit einer UART->USB-Bridge schonmal direkt an den USART des STM dran und hast geschaut ob das stimmt?
Sven S. schrieb: > Beim STM32 sowie beim HTERM sind 9600 baud eingestellt Wie hast Du das überprüft? Evtl. sind falsche CLKs oder falsche Baudratedivider eingestellt!
Ja habs mit einem rs232 modul getestet gehabt ->geht. Auch das herumprobiern von 4800 bis zu 115200 hat nichts gebracht.
Sven S. schrieb: > Auch das herumprobiern von 4800 bis zu 115200 hat nichts gebracht. Du meinst in Verbindung mit dem RS485-Modul? Sven S. schrieb: > ich hab ein Sparkfun RS485 Breakoutboard an meine STM32 USART2 Dieses hier: https://www.sparkfun.com/products/10124 ??? Wie hast Du das Ganze genau beschaltet? --> Schaltplan zeigen Was für Pegel hast Du an !RE und DE während des Senden eines Zeichens anliegen? Nachgemessen? Evtl. gibst Du den Outputtreiber des RS485 Bausteins während des sendens nicht frei?
Sven S. schrieb: > B geht an RS485+ > A geht an RS485- Warum sorum? Im Datenblatt des SIPEX ist A positiv und B negativ: https://www.sparkfun.com/datasheets/Components/General/sp3485CN-LTR.pdf Es müsste also eher heißen: A geht an RS485+ B geht an RS485-
Genau das Modul, welches nur halb duplex kann. Nein ich habe in HTERM die Baudrate geändert welches das USB<->RS485 Modul beeinflusst. Ich benutze die USART2 auch zum Lesen von GPS daten eines GPS Moduls, daher nehme ich mal an das seiten der UART alles korrekt abläuft. Ich benutze am Sparkfun RS485 Modul folgende Beschaltung USART2 TX -> RX USART2 RX -> TX PD3 -> RTS VDD an 3-5V GND an GND dann von RS485 Modul-Spakrfun and RS485 Modul-PC A -> RS485- B -> RS485+ G -> Ground -> 5V (hab ichmal unbeschaltet gelassen, macht kein unterschied ob 5V angeschlossen oder nicht) Code -> Init USART mit clocks etc. Senderoutine: PD3 high; //pin an RTS sende zeichen 0xdf; PD3 low;
Frage4 schrieb: > Sven S. schrieb: >> B geht an RS485+ >> A geht an RS485- > > Warum sorum? > Im Datenblatt des SIPEX ist A positiv und B negativ: > https://www.sparkfun.com/datasheets/Components/General/sp3485CN-LTR.pdf > > Es müsste also eher heißen: > A geht an RS485+ > B geht an RS485- http://www.pci-card.com/rs485.gif deswegen grml ich teste das mal ... haha
Sven S. schrieb: > deswegen grml Da ist aber auch B der positive Ausgang. Also gerade anderstrum wie im Datenblatt!
Sven S. schrieb: > -> 5V (hab ichmal unbeschaltet gelassen, macht kein unterschied ob 5V > angeschlossen oder nicht) Wie? An dem RS485-Baustein MUSS natürlich auch eine Versorgungsspannung anliegen! Bevor Du ne lange Leitung dran machst und es geht nicht...Abschlusswiderstände hast Du auch drauf, oder?
Ja das Modul hat selbstverständlich seine Versorgung! am USB-RS485 Adapter war noch ein 5V Eingang welchen ich aber nicht beschaltet habe, weil er nicht nötig war für den Meter. Widerstände sind auch dran. Am Oszi war das differentielle Signal einwandfrei ersichtlich. Ich muss einfach mal morgen A&B vertauschen... mal sehen ob es wirklich dieser dumme Fehler war.
Sven S. schrieb: > Ja das Modul hat selbstverständlich seine Versorgung! am USB-RS485 > Adapter war noch ein 5V Eingang welchen ich aber nicht beschaltet habe, > weil er nicht nötig war für den Meter. Achso. Solange sie gemeinsame Masse haben... Sven S. schrieb: > Ich muss einfach mal morgen A&B vertauschen... mal sehen ob es wirklich > dieser dumme Fehler war. Jupp, vllt. lags daran. Mit nem Schaltplan wär es Dir evtl. auch gleich ins Auge gesprungen ;-)
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.