Forum: Mikrocontroller und Digitale Elektronik Build Warning: "Implicit declaration of function xyz"


von It E. (itet)


Lesenswert?

Hallo zusammen,
ich bekomme die Warnmeldung beim Build Prozess: "Implicit declaration of 
function xyz".

Der Funktionsprototyp steht in der Datei bsp.h
Die Funktionsdefinition steht in der Datei bsp.c
Aufgerufen wird die Funktion aus der main.c heraus.
1
bsp.h
2
void BSP_LED_On(void);
1
bsp.c
2
void BSP_LED_On()
3
{
4
  GPIOA->BSRR = GPIO_BSRR_BS_5;  // BS = Bit Set
5
}
1
main.c
2
int main()
3
{
4
  // Configure System Clock
5
  SystemClock_Config();
6
7
  // Initialize LED Pin
8
  BSP_LED_Init();
9
10
  // Turn LED ON
11
  BSP_LED_On();
12
}

Ich verstehe nicht warum der Funktionsaufruf in main.c als Deklaration 
aufgefasst wird.
IDE ist Atollic True Studio 9.3

von Jens N. (midibrain)


Lesenswert?

Hey,
mir fällt nur auf das in der bsp.c in der Parameterliste der Funktion 
kein void steht:

bsp.c
void BSP_LED_On(!HIER!)
{
  GPIOA->BSRR = GPIO_BSRR_BS_5;  // BS = Bit Set
}
Georg

von foobar (Gast)


Lesenswert?

Und in der main.c hast du auch ein #include "bsp.h" drin?  Ebenso in 
bsp.c?

Btw, kürzen ist ja schön - aber du hast zuviel gekürzt.  Außerdem passt 
die Fehlermeldung nicht zum Code ...

von It E. (Gast)


Lesenswert?

Jens N. schrieb:
> mir fällt nur auf das in der bsp.c in der Parameterliste der Funktion
> kein void steht

Habe ich korrigiert, danke für den Hinweis. Das alleine hat noch nicht 
dazu geführt, dass die Warnmeldung ausbleibt.

foobar schrieb:
> Und in der main.c hast du auch ein #include "bsp.h" drin?

Hatte ich nicht drin, habe es eingefügt und die Warnmeldung ist weg, 
Danke!

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.