Hallo, ich hätte mal eine generelle Frage zur Verwendung der HAL-Bibliothek von ST-Micro in Punkto Hardware-Flow-Control bei Nutzung des Uart. Wenn ich HW-Flowcontrol aktiviere, setzt die Bib die CTS und RTS Leitung dann automatisch auf blockiert, solange bis ich eine der verfügbaren Receive- bzw. Transmitfunktionen aufrufe, und lässt die Bib dies Leitungen dann auf dem Level, bis die entsprechende Menge an Bytes empfangen wurden oder das einstellbare Timeout auftritt? ...oder wie sonst funktionieren diese Bestandteile? Danke!
Die Hardware-Referenz enthält ein Kapitel dazu. Um die STM32 zu verstehen reicht es nicht, die Doku vom HAL zu lesen. Man muss auch die Hardware verstanden haben und dafür gibts die Referenz. Der HAL ist eher selten das, was der Name suggeriert. Weil nicht wirklich abstrahiert sondern bloss umbenannt wird. Aus einer sauberen Registerbeschreibung werden ein paar nicht immer sauber beschriebene Funktionen und Strukturen des HAL. Die Funktionalität des HAL entspricht oft 1:1 der Funktionalität der Hardware, nur mit anderem Namen und anderer Zugriffsweise.
:
Bearbeitet durch User
... ich möchte dass mein Receiver an bestimmten Stellen den Datenfluss bremst. Da ich keine direkte Funktion finde, die RTS und CTS steuern, kann ich einfach den Pin anheben und wichtiger noch, welchen muss ich eigentlich manipulieren? Empfängerseitig will ich eine Verzögerung haben, muss ich nun auf seiten des Empfängers den RTS oder den CTS Pin setzen und auf 0 oder auf 1?
STM32 schrieb im Beitrag #4810397: > ... ich möchte dass mein Receiver an bestimmten Stellen den Datenfluss > bremst. Hardware-Flowcontrol bedeutet, dass die Steuerung automatisch erfolgt. Nur wenn der Receiver noch Platz im Puffer hat, gibt er den Transmitter des Gegenübers frei (RTSE). Der Transmitter sendet nur, wenn er darf (CTSE) Wenn du das zur Hälfte selber machen willst, dann reicht eben eine Hälfte davon, nämlich CTSE. RTSE lässt du dann weg und steuerst diesen Pin ganz gewöhnlich per GPIO. Genau deshalb sind diese beiden Funktionen in den Registern getrennt aktivierbar. > Da ich keine direkte Funktion finde, die RTS und CTS steuern, Das ergibt auch keinen Sinn. Hardware-Flowcontrol bedeutet ja grad, dass du es nicht selber machen willst.
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.