Please note: We are aware of an issue affecting replies on the Arm Community forums, which may not be loading as expected.

We apologize for any inconvenience and appreciate your patience while we investigate and work to resolve the issue.

Thank you for your understanding.


This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

I am compiling code for stm32f407 family

*** Using Compiler 'V5.05 update 2 (build 169)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'STM324F_GPIO'
assembling startup_stm32f40xx.s...
compiling misc.c...
compiling stm32f4xx_gpio.c...
compiling stm32f4xx_rcc.c...
compiling main.c...
User\main.c(7): error: #268: declaration may not appear after executable statement in block GPIO_InitTypeDef GPIO_InitDef;
User\main.c(7): error: #67: expected a "}" GPIO_InitTypeDef GPIO_InitDef;
User\main.c(8): error: #79: expected a type specifier RCC_AHB1PeriphClockCmd(
CC_AHB1Periph_GPIOD, ENABLE);
User\main.c(8): error: #757: constant "ENABLE" is not a type name RCC_AHB1PeriphClockCmd(
CC_AHB1Periph_GPIOD, ENABLE);
User\main.c(8): warning: #77-D: this declaration has no storage class or type specifier RCC_AHB1PeriphClockCmd(
CC_AHB1Periph_GPIOD, ENABLE);
User\main.c(8): error: #147: declaration is incompatible with "void RCC_AHB1PeriphClockCmd(uint32_t, FunctionalState)" (declared at line 983 of "..\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_rcc.h") RCC_AHB1PeriphClockCmd(
CC_AHB1Periph_GPIOD, ENABLE);
User\main.c(10): error: #77-D: this declaration has no storage class or type specifier GPIO_InitDef.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14;
User\main.c(10): error: #147: declaration is incompatible with "GPIO_InitTypeDef GPIO_InitDef" (declared at line 7) GPIO_InitDef.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14;
User\main.c(10): error: #65: expected a ";" GPIO_InitDef.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14;
User\main.c(11): error: #77-D: this declaration has no storage class or type specifier GPIO_InitDef.GPIO_Mode = GPIO_Mode_OUT;
User\main.c(11): error: #147: declaration is incompatible with "GPIO_InitTypeDef GPIO_InitDef" (declared at line 10) GPIO_InitDef.GPIO_Mode = GPIO_Mode_OUT;
User\main.c(11): error: #65: expected a ";" GPIO_InitDef.GPIO_Mode = GPIO_Mode_OUT;
User\main.c(12): error: #77-D: this declaration has no storage class or type specifier GPIO_InitDef.GPIO_OType = GPIO_OType_PP;
User\main.c(12): error: #147: declaration is incompatible with "GPIO_InitTypeDef GPIO_InitDef" (declared at line 11) GPIO_InitDef.GPIO_OType = GPIO_OType_PP;
User\main.c(12): error: #65: expected a ";" GPIO_InitDef.GPIO_OType = GPIO_OType_PP;
User\main.c(13): error: #77-D: this declaration has no storage class or type specifier GPIO_InitDef.GPIO_PuPd = GPIO_PuPd_NOPULL;
User\main.c(13): error: #147: declaration is incompatible with "GPIO_InitTypeDef GPIO_InitDef" (declared at line 12) GPIO_InitDef.GPIO_PuPd = GPIO_PuPd_NOPULL;
User\main.c(13): error: #65: expected a ";" GPIO_InitDef.GPIO_PuPd = GPIO_PuPd_NOPULL;
User\main.c(14): error: #77-D: this declaration has no storage class or type specifier GPIO_InitDef.GPIO_Speed = GPIO_Speed_50MHz;
User\main.c(14): error: #147: declaration is incompatible with "GPIO_InitTypeDef GPIO_InitDef" (declared at line 13) GPIO_InitDef.GPIO_Speed = GPIO_Speed_50MHz;
User\main.c(14): error: #65: expected a ";" GPIO_InitDef.GPIO_Speed = GPIO_Speed_50MHz;
User\main.c(16): error: #79: expected a type specifier GPIO_Init(
PIOD, &GPIO_InitDef);
User\main.c(16): error: #79: expected a type specifier GPIO_Init(
PIOD, &GPIO_InitDef);
User\main.c(16): warning: #77-D: this declaration has no storage class or type specifier GPIO_Init(
PIOD, &GPIO_InitDef);
User\main.c(16): error: #147: declaration is incompatible with "void GPIO_Init(GPIO_TypeDef *, GPIO_InitTypeDef *)" (declared at line 560 of "..\Libraries\STM32F4xx_StdPeriph_Driver\inc\stm32f4xx_gpio.h") GPIO_Init(
PIOD, &GPIO_InitDef);
User\main.c(18): error: #79: expected a type specifier RCC_AHB1PeriphClockCmd(
CC_AHB1Periph_GPIOA, ENABLE);
User\main.c(18): error: #757: constant "ENABLE" is not a type name RCC_AHB1PeriphClockCmd(
CC_AHB1Periph_GPIOA, ENABLE);
User\main.c(18): warning: #77-D: this declaration has no storage class or type specifier RCC_AHB1PeriphClockCmd(
CC_AHB1Periph_GPIOA, ENABLE);
User\main.c(20): error: #77-D: this declaration has no storage class or type specifier GPIO_InitDef.GPIO_Pin = GPIO_Pin_0;
User\main.c(20): error: #147: declaration is incompatible with "GPIO_InitTypeDef GPIO_InitDef" (declared at line 14) GPIO_InitDef.GPIO_Pin = GPIO_Pin_0;
User\main.c(20): error: #65: expected a ";" GPIO_InitDef.GPIO_Pin = GPIO_Pin_0;
User\main.c(21): error: #77-D: this declaration has no storage class or type specifier GPIO_InitDef.GPIO_Mode = GPIO_Mode_IN;
User\main.c(21): error: #147: declaration is incompatible with "GPIO_InitTypeDef GPIO_InitDef" (declared at line 20) GPIO_InitDef.GPIO_Mode = GPIO_Mode_IN;
User\main.c: 3 warnings, 30 errors
compiling system_stm32f4xx.c...
".\Target\GPIO\GPIO.axf" - 30 Error(s), 3 Warning(s).
Target not created.
Build Time Elapsed: 00:00:06

  • The thing to do when you get huge numbers of errors like this is to start with the first one - because that first error will very likely be the cause of many (if not all) of the following errors.

    So - start here:

    User\main.c(7): error: #268: declaration may not appear after executable statement in block GPIO_InitTypeDef GPIO_InitDef;
    

    Note that:

    User\main.c tells you which file the error was found in;

    (7) tells you which line in that file the error was found on.

    So open that file, go to that line, and fix the error.

    (You should be able to double-click the message in the output window to go straight to the offending line).