Forum: Projekte & Code [STM32/HAL] simples U(S)ART-Library


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Harry L. (mysth)


Angehängte Dateien:

Lesenswert?

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!

: Bearbeitet durch User
von Harry L. (mysth)


Angehängte Dateien:

Lesenswert?

Noch einen kleinen Bug gefixed und Kommentare im Source ergänzt.

von Harry L. (mysth)


Angehängte Dateien:

Lesenswert?

Und noch ein kleineres Update.

von Jens R. (tmaniac)


Lesenswert?

Schöne Idee. Hast du dir mal überlegt da ein Expansion Pack draus zu 
basteln?

Ich bin (mal mehr und mal weniger) dabei so etwas für den CAN (aktuell 
Unterstützung des bxCAN) zu basteln. Und ich habe die Konfiguration in 
die Cube-Oberfläche integriert.

von Harry L. (mysth)


Lesenswert?

Jens R. schrieb:
> Schöne Idee. Hast du dir mal überlegt da ein Expansion Pack draus zu
> basteln?
>
> Ich bin (mal mehr und mal weniger) dabei so etwas für den CAN (aktuell
> Unterstützung des bxCAN) zu basteln. Und ich habe die Konfiguration in
> die Cube-Oberfläche integriert.

Gute Idee!
Muß ich mir mal anschauen!

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
Noch kein Account? Hier anmelden.