FTDI R232L zu Hterm

#5254735
Lesenswert?

Hallo,
habe folgendes Problem, ich sende über einen FTDI eine Zeichenkette aus. 
Diese wird mit Hterm eingelesen. Allerdings gibt es da ein Problem mit 
dem ASCii, da ich keine Zeichenfolge bekomme (siehe Bild). Habe schon 
alles Probiert, auch das Programm für den UART funktionieren.
Vielleicht hat jemand einen Tipp woran es liegen könnte.
Vielen Dank

Theoretiker87
Angehängte Dateien:
#5254925
Lesenswert?

Hallo,
vielen Dank für die zahlreichen Antworten,
Die Veränderung der Baudrate zu 1200 oder auch zu 300 hat nix gebracht 
:(
Ich verwende das STM32F407 Discovery board und einen Vorgefertigten FTDI 
232RL dieser ist richtig auf dem PCB.

Es stimmt einfach die Zeichenkette nicht zu ASCii, verstehe den fehler 
nicht, dass Programm funktioniert mit dem gleichen Mikrocontroller auf 
einem PCB layout perfekt, nur nicht auf dem Disco Board mit dem gleichen 
Controller....


MFG
Theoretiker 87
Gast #5254966
Lesenswert?

Sven A. schrieb:
> wie ändere ich die Taktquelle ??

RTFM

Sven A. schrieb:
> Woher weiß ich welcher Frequenz der FTDI hat.

Der FTDI Chip bekommt vom PC über USB die Datenrate eingestellt.

Sven A. schrieb:
> da ich auf dem STM  Board den Timer für den UART fest eingestellt sind.

Es gibt keinen Timer für UARTs.

Sven A. schrieb:
> auch die Frequenz der GPIO sind fest.....

Das ist in diesem Zusammenhang belanglos.

--> Kümmere dich um die Takt-Einstellung. Lerne wie das
zu konfigurieren ist. Deine Antworten lassen darauf
schliessen dass du dein System bei Weitem noch nicht
im Griff hast.
Gast #5255138
Lesenswert?

Alle STM32 Mikrocontroller haben ein sehr variables Taktsystem. Sie 
starten mit einem internen 8Mhz R&C Oszillator. Per Software solltest du 
auf einen externen Quarz umschalten, da R/C Oszillatoren für serielle 
Schnittstellen nur bedingt geeignet sind (zu ungenau, vor allem bei 
Spannungen ungleich 3,3V oder wenn die Temperatur von 25°C abweicht).

Die Quarz-Frequenz kann durch eine PLL intern erhöht werden. Dann gibt 
es zahlreiche Vorteiler, mit denen man den Takt wieder reduziert. Aus 
diesem eventuell reduzierten Takt gewinnt die USART Schnitstelle ihre 
Baudrate.

Das Programm Cube HAL stellt dieses Takt-Sytsem sehr übersichtlich dar 
und erzeugt Dir per Mausklick entsprechenden Initialisierungs-Code.

Du solltest dennoch das Refecence Manual 
(www.st.com/resource/en/reference_manual/dm00031020.pdf) durchlesen. 
Zumindest die Kapitel

2.1.11 AHB/APB bridges
3.5.1 Relation between CPU clock frequency and Flash memory read time
3.9.1 Flash access control register (FLASH_ACR)
7.2 Clocks
7.3 RCC registers
30 Universal synchronous asynchronous receiver transmitter (USART)

Wenn Dir das zu kompliziert erscheint, empfehle ich mit einem STM32F103 
anzufangen. Denn dazu findest du mehr Anfänger-Anleitungen im Internet. 
Das gelernte kannst du dann später auf deinen STM32F407 übertragen, denn 
die Unterschiede sind gering. Aber um das viele Lesen wirst du nicht 
herum kommen.

Bei STM wirst du sehen, dass sich die meisten Anleitungen auf das 
veraltete SPL Framework beziehen. Nur die neueren Anleitungen (ab ca 
2015) beziehen ich auf das aktuelle Cube HAL Framework. Das soll die 
Arbeit sehr erleichtern, aber leider muss man das umfangreiche 
Reference-Manual trotzdem lesen und HAL richtig anzuwenden.

Ich habe gerade mit dem STM32F103 angefangen, nachdem ich das Gefühl 
habe, die AVR's in und auswendig zu kennen (was natürlich sicher nicht 
ganz stimmt). Meine Notizen zum STM32F103 findest du hier: 
http://stefanfrings.de/stm32/index.html

Beim STM32F407 wird vieles ähnlich sein, aber eben nicht gleich. 
Deswegen gehe bitte nicht davon aus, dass meine Ausführungen für dein 
Discovery Board passen.

Falls Du nicht gut genug Englisch kannst, würde ich Dir raten, mit 8bit 
AVR Controllern anzufangen. Denn deren Datenblätter sind sehr viel 
kürzer und es gibt reichlich deutsche Literatur.
#5255453
Lesenswert?

Hallo,
vielen Dank für die Antworten, besonders diese von Stefan US. Diese war 
sehr hilfreich, da ich in  ich den Lib. die Frequenzen verändern musste: 
“cmsis_boot/stm32f4xx.h” “cmsis_boot/system_stm32f4xx.c”, diese müssen 
auf 8kHz gestellt sein, sowie der Prescaler für die BaudRate muss danach 
eingestellt werden.
Da ich da schon vorher probiert habe, hatte ich einen 16kHz Oszi 
eingestellt und nicht ein 8kHz.


MFG
Sven
Gast #5255591
Lesenswert?

Sven A. schrieb:
> diese müssen auf 8kHz gestellt sein,

Nein.

Sven A. schrieb:
> Da ich da schon vorher probiert habe, hatte ich einen 16kHz Oszi
> eingestellt und nicht ein 8kHz.

Ich wette dass die gewünschte Baudrate weder mit 16kHz noch
mit 8kHz eingestellt werden kann.

Sven A. schrieb:
> Sven A.
> (Firma: Student)
> (theoretiker87)

Ist das ein Student der die Zehnerpotenzen nicht auseinander
halten kann?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren