Ich möchte hier meinen Code zur komfortablen Nutzung der STM32 U(S)ARTs
vorstellen.
Es können theoretisch beliebig viele U(S)ARTs konfiguriert werden.
Ich hab mich bemüht, den Code soweit wie nötig zu kommentieren.
Zum Testen muß man ein neues Projekt in CubeMX generieren, und dort den
gewünschten U(S)ART aktivieren und konfigurieren.
Bitte nicht vergessen auch den Interrupt dieses U(S)ART einzuschalten!
Die Dateien aus dem Zip kopiert man einfach in Core/SRC
Für einen ersten Test habe ich ein simples Demo angehängt. (uart_demo.c,
und uart_demo.h)
Um das zu nutzen muß man in der generierten main.c die Datei uart_demo.h
zu den Includes hinzufügen:
1 | /* Private includes ----------------------------------------------------------*/
|
2 | /* USER CODE BEGIN Includes */
|
3 | #include "uart_demo.h"
|
4 | /* USER CODE END Includes */
|
In der main-Funktion wird dann das eigentliche Demo gestartet, und als
einziger Parameter der Handle des gewünschten U(S)ART übergeben:
1 | /* USER CODE BEGIN 2 */
|
2 |
|
3 | myUART_LineDemo(&huart2);
|
4 |
|
5 | /* USER CODE END 2 */
|
Der Rest sollte selbsterklärend sein. (In der uart_demo.c und
uart_demo.h)
Der eigentliche Test findet dann in einem Terminalprogramm deiner Wahl
statt.
Über Anregungen und/oder Verbesserungs-Vorschläge würde ich mich freuen.
Da das die erste Version ist, kann ich kleinere Bugs im Code derzeit
nicht ausschließen, allerdings funktioniert das in meinem Labor in NRW
bei ca 22° Raumtemperatur schon recht zuverlässig.
Viel Spass damit!