Forum: Mikrocontroller und Digitale Elektronik IAR Workbench Error[Pe159] beim kompilieren


von STM32 (Gast)


Lesenswert?

Hallo,

ich beginne gerade mit IAR Workbench und hab mit den unten gezeigten 
Zeilen begonnen
und bekomme folgende Fehlermeldung:
"Error[Pe159]: declaration is incompatible with previous "RCC_Setup" 
(declared at line 5) ........"

HIer mein main.c:
#include "stm32f10x_lib.h"

int main()
{
 RCC_Setup();

 // return 0;
}


void RCC_Setup(void)
{
    // RCC system reset(for debug purpose)
    RCC_DeInit();
    // Enable HSE
    RCC_HSEConfig(RCC_HSE_ON);
    // Wait till HSE is ready
    while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET)
        {;}
    // Enable Prefetch Buffer
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
    // Flash 2 wait state
    FLASH_SetLatency(FLASH_Latency_2);
    // HCLK = SYSCLK
    RCC_HCLKConfig(RCC_SYSCLK_Div1);
    // PCLK2 = HCLK
    RCC_PCLK2Config(RCC_HCLK_Div1);
    // PCLK1 = HCLK
    RCC_PCLK1Config(RCC_HCLK_Div1);
    // Select HSE as system clock source
    RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE);
    // Wait till HSE is used as system clock source
    while(RCC_GetSYSCLKSource() != 0x04)
        {;}
    // Enable PBs GPIO clock


   RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOE,
                          ENABLE );

}

eingebunden sind: cortexm3_macro.h, stm32f10x_conf.h, stm32f10x_flash.h, 
stm32f10x_gpio.h, stm32f10x_lib.h, stm32f10x_map.h, stm32f10x_nvic.h, 
stm32f10x_rcc.h, stm32f10x_type.h

bitte um Hilfe

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Du rufst in main eine Funktion auf, die zu diesem Zeitpunkt noch nicht 
bekannt ist.

Lies Dir in Deinem C-Buch nochmal den Abschnitt über Funktionsprototypen 
durch.

von STM32 (Gast)


Lesenswert?

Dankeschön !! normalerweise hätte ich das wissen sollen sogar mit meinen 
beschränkten C Kenntnissen!
Dieser Fehler ist zwar weg aber dafür bekomme ich folgende Errors.
Kennst Du vielleicht ein Doc in welchem die Fehlercodes erklärt werden ?

Error[Li005]: no definition for "RCC_DeInit" [referenced from C:....]
Error[Li005]: no definition for "RCC_HSEConfig" [.....
Error[Li005]: no definition for "RCC_GetFlagStatus" [.........
usw....

in welchem File steht das drinnen ?

danke mfg

von blubb (Gast)


Lesenswert?

die funktionen in deiner RCC_Setup sind unbekannt

und das steht im fehler!! .. lesen ...

von stm32 (Gast)


Lesenswert?

was könnte der grund sein dass diese funktionen unbekannt sind die 
stm32f10x_rcc.c ist im projekt ordner drinnen und die stm32f10x_rcc.h 
ist inkludiert also müssten diese funktionen doch bekannt sein oder ?

von Arne (Gast)


Lesenswert?

Rechtsklick auf den unbekannten Funktionsnamen (z.B. RCC_DeInit) öffnet 
ein Kontextmenü. Dann Linksklick auf "Go to definition of RCC_DeInit".
Das sollte Dir die Quelldatei öffnen, in der RCC_DeInit definiert ist. 
Die Deklaration im Headerfile zu finden sollte nicht schwierig sein.
Wird die Definition nicht gefunden, befindet sich das Quellfile nicht in 
Deinem Projekt. BTW: mit Ctrl+Shift+F kannst Du das ganze Projet nach 
einem Bezeichner durchsuchen.

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.