Forum: Compiler & IDEs uVision mit stm Standard Library: uint32_t undefined


von Mike (Gast)


Lesenswert?

Hi Leute,

ich versuche gerade die "stm32f10x_stdperiph_lib" mit uVision zu 
verwenden. Ich habe für den Anfang erst mal eine leere main() erstellt. 
Beim kompilieren kommen jedoch einige Fehler. Zum Beispiel kennt er die 
Typen: "uint" nicht.
Ich weis, in der #include <stdint.h> sind diese definiert. Aber meiner 
Meinung nach muss die Standard Library so auch funktionieren. Kann man 
in uVision evtl. das einstellen, dass er die stdint.h in jedes dokument 
einbindent?

Hat von euch jemand die Standard Lib erfolgreich in uVision eingebunden?

Vielen Danke!

von Karl H. (kbuchegg)


Lesenswert?

Mike schrieb:

> Ich weis, in der #include <stdint.h> sind diese definiert. Aber meiner
> Meinung nach muss die Standard Library so auch funktionieren.

stm32f10x_stdperiph_lib ist doch keine Standard Library. Nicht alles was 
'Standard' im Namen trägt, hat was mit dem C-Standard zu tun.

> Aber meiner
> Meinung nach muss die Standard Library so auch funktionieren.
Sie sollte. Jedes Header File sollte immer diejenigen anderen Header 
Files inkludieren, die es selbst benötigt. Und zwar ohne Ansehen 
desjenigen, der diesen Header dann letztendlich verwendet.

> Kann man
> in uVision evtl. das einstellen, dass er die stdint.h in jedes dokument
> einbindent?

Machs doch nicht so kompliziert.
Mach die paar Header Files auf, die zu stm32f10x_stdperiph_lib gehören 
und schreib den include rein. Problem gelöst. WEnn du nett bist 
schreibst du auch noch die Programmierer an, und sagst ihnen, dass sie 
diesen include vergessen haben.

von Matthias (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Mach die paar Header Files auf, die zu stm32f10x_stdperiph_lib gehören
> und schreib den include rein. Problem gelöst. WEnn du nett bist
> schreibst du auch noch die Programmierer an, und sagst ihnen, dass sie
> diesen include vergessen haben.

Die haben das Include nicht vergessen. Es liegt daran, dass die STM32 
Standard-LIB nicht korrekt eingebunden wurde, bzw. der PATH zu der Lib 
fehlt.

#include "stm32f10x.h" bindet üblicher Weise die gesamte STM32 Lib ein

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.