Kann USART für STM32 nicht in externem file benutzen. Wie Handle einbinden?

Gast #6626724
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich habe ein Projekt mit STM32 und STM32CUBE IDE.

Ich habe die komplette Konfiguration für den MCU über die CUBE IDE 
erstellt. Nun möchte ich alle UART verwendenden Funktionen in eine 
UART_Funktionen.c mit der entsprechenden .h verschieben.
Die Dateien sind korrekt eingebunden und Code in den Dateien wird auch 
kompiliert.

Leider kann ich in den externen Dateien keinen UART verwenden, da im 
HAL_UART_Transmit_IT der Handle (&huart2) auf die entsprechende TypeDef 
nicht gefunden wird.
Was muss ich noch einbinden? Wo wird der Handle definiert?

Viele Grüße und Danke
Mike
Gast #6627064
Lesenswert?
• ▲
▼
>Wo wird der Handle definiert?
in der main.c
>Was muss ich noch einbinden?
in deiner uart.h
#include "main.h"
zur Not auch nur die .h, in der der Datentyp UART_HandleTypeDef 
deklariert wird.

in deiner uart.c entweder global oder in jeder Fuktion, die huart2 
verwendet:
extern UART_HandleTypeDef huart2;

> musst Du die in einem h-file selber als extern deklarieren.
Im h-File ist ganz schlechter Stil, das ist eine Variable, die gehört in 
kein h-File!
Gast #6627778
Lesenswert?
• ▲
▼
pegel schrieb:
> Kann es sein, dass nur ein Häkchen fehlt?
>
> Dann wird alles schön getrennt.

Perfekt, das ist genau das, was ich gesucht habe. Dann wird die main.c 
auch übersichtlicher.
Vielen Dank!

Danke auch an alle anderen Kommentatoren :-)

Schönes WE euch!

Mike

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.