UART-Port auf FM-Platine reagiert nicht

Hardware- und Elektronikbasteleien, Ansteuerung von Schnittstellen und Peripherie.
Fragen zu "Consumer"-Problemen kommen in Offtopic.
jogo
Beiträge: 64
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint Mate

UART-Port auf FM-Platine reagiert nicht

Beitrag von jogo »

ich habe ein Problem mit den Senden von Daten an eine UART-Schnittstelle.

Die UART-Schnittstelle befindet sich auf diese FM-Platine:
https://www.amazon.de/dp/B07NY7Z81P/ref ... 91_TE_item

Zum Senden/Empfangen vom PC/Laptop verwende ich diesen USB-TTL Port:
https://www.amazon.de/dp/B08T24NML9/ref ... UTF8&psc=1

Dieser Port funktioniert. Habe ich mit einem Terminalprogramm (moserial) getestet.
Ich kann damit senden und empfangen. Habe Testhalber zwischen zwei solcher USB-TTL Module Daten hin und her gesendet. Auch mit PureBasic kann ich diese öffnen.

In der FM-Platinenbeschfreibung steht zu der UART folgendes:
Serieller Anschluss (ohne serielle Portsteuerung)
Das Modul reserviert eine serielle Portsteuerungsschnittstelle auf TTL-Ebene. DieKommunikation zwischen dem seriellen TTL-Port, und dieses Modul muss an die
UART_RX, UART_TX und GND und die externe MCU (Mikrocontroller) oder computerserielle Schnittstelle kann verwendet werden, um Anweisungen zur Steuerung des Moduls
zu senden.
Hinweis: Da die serielle Portebene des Computers nicht TTL-Ebene ist, Sie müssen
die RS323-Ebene mit dem TTL-Level-Ersatzgerät verbinden, wenn Sie eine
Verbindung zum Computer herstellen oder ein serielles USB-zu-TTL-Modul
verwenden, um mit dieser Platine zu kommunizieren.

Baud rate: 38400 TTL level
Frequenz festlegen: AT+FRE=875
Frequenz hochzählen: AT+FREU
Frequenz runterzählen: AT+FRED
Lautstärke festlegen: AT+VOL=15
Lautstärke hochzählen: AT+VOLU
Lautstärke runterzählen:AT+VOLD

.. und weitere Befehle. Alle Beginnen mit "AT+".

Wenn ich es genauso schreibe und sende, passiert nichts.
Vermutlich ist aber mit "AT", "@" gemeint. Also @FREU. Passiert trotzdem nichts.

Verbunden habe ich so: GND auf GND und RXD/TXD über Kreuz. Die 3.3 & 5V Pins sind unbenutzt.
Habe auch 3.3V und 5V Pegel probiert (Jumper auf USB-TTL Port).
Die FM-Platine stellt sich tot (was UART betrifft - Rest funktioniert bestens).
Die Stromversorgung der Platine stelle ich an die entsprechenden Lötpunkte über USB des selben PCs her, an der auch der USB-TTL Port steckt.

Habe zwei von diesen FM-Platinen -> beide gleiches Ergebnis.
Irgendetwas mache ich falsch. Vermutlich setzte ich die Befehle falsch ab.
Aber wo ist mein Denkfehler?

EDIT:
Verwendete Parameter: 8 Bit / Parität: None / Stopp-Bit 1 / kein Handshake (aber auch bereits andere Varianten probiert)
--
Ideen gibt es viele - man muss sie nur haben...
Mint 18.3/19.3/21.x/LMDE5 // PureBasic 5.73 / 6.02
H.Brill
Beiträge: 356
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Re: UART-Port auf FM-Platine reagiert nicht

Beitrag von H.Brill »

AT = Hayes Modem Befehle
AT heißt ja nur Attension (Achtung, es kommt was)
gib mal ein RETURN ( Chr(13) ) am Ende dazu.
Oder mal so :
ATS3XXX oder ATS3 XXX

wobei XXX jetzt für deinen eigentlichen Befehl steht.
S3 müßte auch ein Return darstellen, jedenfalls in der Liste der Modembefehle.
Ist halt eine lange Zeit her mit den Hayes - kompatiblen Modems.
Oder schau mal genau in deinem Terminalprog nach. Dort funktioniert es ja.
Die haben oft solche Einstellungen wie Chr(13) als Endezeichen usw.
Da geht halt nur probieren. Angeschlossen scheint es ja richtig zu sein.
Oder schick es mal als Bytefolge. Müßte doch irgendwie hinzubekommen sein.
PB 5.60
jogo
Beiträge: 64
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint Mate

Re: UART-Port auf FM-Platine reagiert nicht

Beitrag von jogo »

Oder schau mal genau in deinem Terminalprog nach. Dort funktioniert es ja.
damit funktioniert es ja auch nicht. Wollte ja im Terminal die Befehle testen, bevor ich mich dann an die Programmierung der Bedienoberfläche mache.
Die Verbindung mit dem USB-TTL Modul funktioniert und dann kann ich dort in der Eingabezeile die Befehle eintippen und auf Senden drücken. Das funktioniert auch - hab den Output zum Testen über einen Jumper an TXD durchgeleitet und wurde am Terminal als Input angezeigt.
Aber die Empfänger-UART reagiert nicht - egal wie ich das schreibe oder kombiniere.
Das Ende habe ich mit CR+LF // nur CR // nur LF getestet - kann ich am Terminal einstellen.

Bin grad mal dabei, für das Senden und Empfangen eine kleine Testroutine zu bauen - bisher habe an dieser Stelle erst mal nur den Verbindungsaufbau zum USB-TTL Modul getestet, weil ich das unter Linux erstmal rausfinden mußte. Funktioniert bis dahin gut.

Ich verstehe eben nicht, wie dieses AT+Befehl schreiben soll. Ein praktisches Beispiel wär schon hilfreich gewesen.
Ich code erstmal schnell das Senden und Empfangen. Vllt. liegt das ja auch am Terminalprogramm..
--
Ideen gibt es viele - man muss sie nur haben...
Mint 18.3/19.3/21.x/LMDE5 // PureBasic 5.73 / 6.02
jogo
Beiträge: 64
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint Mate

Re: UART-Port auf FM-Platine reagiert nicht

Beitrag von jogo »

hab jetzt mit WriteSerialPortString() alle erdenklichen Varianten getestet.

Code: Alles auswählen

WriteSerialPortString(1, "ATVOL20"+Chr(13)) 
WriteSerialPortString(1, "AT+VOL=20"+Chr(13)) 
WriteSerialPortString(1, "AT+VOL20"+Chr(13)) 
WriteSerialPortString(1, "ATVOL=20"+Chr(13)) 
WriteSerialPortString(1, "ATS3VOL=20"+Chr(13)) 
WriteSerialPortString(1, "ATS3 VOL=20"+Chr(13)) 
und noch etliche Kombinationen mehr.
Mit und ohne Chr(13) am Ende. Sogar mit chr(13)+chr(10) oder nur chr(10)
In ASCII Format und in UTF8 Format.
3.3v & 5V Pegel

Das USB-TTL Modul haut die Daten auch raus (sehe ich an der Sende-LED und der Sendepuffer ist danach auch leer), aber die Empfänger-UART ignoriert sie.
Verbindungen von USB-TTL Modul zum Empfänger-UART passen auch (extra nachgemessen)

Villt. verträgt sich der Chipsatz vom Empfänger-UART nicht mit den USB-TTL Chipsatz (CH340G)
Gibt ja noch einen anderen von AZDelivery:
https://www.amazon.de/AZDelivery-Adapte ... RZK6I&th=1

Hätte dann eine TTL-Flotte^^ - müßte mir dann nur noch das passende Projekt dafür ausdenken :)
Ist natürlich schwierig, jemanden zu finden, der mit dieser FM-Platine in dieser Richtung schon rumgebastelt hat um nach Rat zu fragen.

EDIT:
Vllt. ist der Zeichensatz auf der Empfänger-UART ja in chinesisch. Hab die bei Ali-Express gekauft für den halben Preis.
Ist aber exakt die gleiche Platine (LCD_FM_RX_ENC_V2.0) - aber nichts ist unmöglich..
--
Ideen gibt es viele - man muss sie nur haben...
Mint 18.3/19.3/21.x/LMDE5 // PureBasic 5.73 / 6.02
H.Brill
Beiträge: 356
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Re: UART-Port auf FM-Platine reagiert nicht

Beitrag von H.Brill »

Welcher Chip ist denn auf dem USB - TTL - Teil, der Prolific oder ein FTDI ?
Ich hatte mal mit einer Relaiskarte vom großen C ähnliche Probleme. Aber USB
zu normaler RS232 9pol. Danach kam ein 9pol. TTL-Konverter dran.
Da hatte das USB-Teil einen Prolific verbaut. Damals bin ich auf einen Digitus
(USB-Seriell) mit FTDI Chip umgestiegen und das Problem war gelöst.
Das hing damals an dem Treiber.
Auch ASCII auf dem MikroController und ASNI auf PC-Seite könnte ein Problem sein,
obwohl ja beide ASCII / ANSI ziemlich gleich in der Anordnung sind. Hatte damals
auch nicht gewußt, daß das 2 verschiedene Welten sind.
Am besten funktionieren da noch die CP210X - Treiber, wobei ich das X jetzt als
Versionsnummer bezeichnet habe.
Das banalste wirst du ja schon gemacht haben, z.B. RX/TX getauscht. Beim Testen
mit dem Terminalprog hast du bestimmt RX/Tx gebrückt. Das funtioniert ja auf
jeden Fall. Kannst ja auch einfach mal den Strom auf TX messsen, wenn du was
sendest.

Hatte das auch bei der Relaiskarte. Da stand nirgends etwas über
Kreuz tauschen. Da probierte ich dann auch mit einem Nullmodemstecker, das
dann auch funktioniert hatte.

Das andere mit dem Japanischen oder Chinesischen Zeichensatz glaube ich eher
weniger, weil ja eine dt. Doku dabei ist. Aber man weiß ja nicht.
PB 5.60
Helmut_number_one
Beiträge: 9
Registriert: 19.09.2020 19:13

Re: UART-Port auf FM-Platine reagiert nicht

Beitrag von Helmut_number_one »

Bei einen HC-12 Funkmodul wird auch mit AT Befehlen was gesteuert, da mußte ich AT Leerzeichen +Befehl geben.
CR usw weiß ich nicht mehr, aber dass ein Leerzeichen hinter AT kam, das war so.... Probier' mal
H.Brill
Beiträge: 356
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Re: UART-Port auf FM-Platine reagiert nicht

Beitrag von H.Brill »

Helmut_number_one hat geschrieben: 05.12.2022 13:05 da mußte ich AT Leerzeichen +Befehl geben.
Denke, das er das schon gemacht hat. Ist ja wohl naheliegend, wenn man
schon alle möglichen Konstellation durch hat.
PB 5.60
jogo
Beiträge: 64
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint Mate

Re: UART-Port auf FM-Platine reagiert nicht

Beitrag von jogo »

Das banalste wirst du ja schon gemacht haben, z.B. RX/TX getauscht. Beim Testen
mit dem Terminalprog hast du bestimmt RX/Tx gebrückt. Das funtioniert ja auf
jeden Fall. Kannst ja auch einfach mal den Strom auf TX messsen, wenn du was
sendest.
Dieses banalste hatte ich zwar Anfangs 1x erfolglos probiert, aber da muss ich wohl noch was anderes falsch gemacht haben (Befehlsaufbau etc.)

Tatsächlich funktioniert es mit RX<->RX und TX<->TX mit dem FM-UART (warum auch immer).
Zwei USB-TTL Module untereinander funktionierten typischer weise nur gekreuzt.

Syntax: AT+VOL=15 (Lautstärke auf 15) //also so, wie in der Doku - ohne CR/LF
Konfiguration: 38400 Baud // 8 Bit // 1 Stop // kein Parity // kein Handshake // Pegel auf USB-TTL Modul 3.3 V

Dann kann ich mich ja jetzt an die Programmierung der Radiosteuerung machen.
Danke für die Tipps und die Aufklärung der seriellen Tücken :)

PS:
AT +VOL=15 funktioniert übrigens auch nicht
--
Ideen gibt es viele - man muss sie nur haben...
Mint 18.3/19.3/21.x/LMDE5 // PureBasic 5.73 / 6.02
jogo
Beiträge: 64
Registriert: 22.11.2020 20:05
Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint Mate

Re: UART-Port auf FM-Platine reagiert nicht

Beitrag von jogo »

So, meine Radiosteuerung funktioniert. Läuft alles, wie geplant.
Der Hauptfehler war also, dass ich dachte, die Verbindungen funktionieren nur mit RX <-> TX (was ja auch logisch ist)
Aber gut, wieder was gelernt. Und das mit AT kannte ich vorher auch nicht.
Ist ein schöner Bastelspaß...
--
Ideen gibt es viele - man muss sie nur haben...
Mint 18.3/19.3/21.x/LMDE5 // PureBasic 5.73 / 6.02
Antworten