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

Turn On a LED on STM32F4-discovery

Hi everyone,

I want to turn on a LED on my STM32F4-discovery board

Here is the code :

int main()
{

// Enable the GPIO Clock

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);

// GPIO Configuration

GPIO_InitTypeDef GPIO_InitStruct;

GPIO_InitStruct.GPIO_Pin = GPIO_Pin_14; // Led 6 Blue selected

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; // Mod out !

GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; // 50 MHZ clock frequency

GPIO_InitStruct.GPIO_OType = GPIO_OType_PP; // Push pull mod

GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP; // Pull up

GPIO_Init(GPIOD, &GPIO_InitStruct);

// Turn on the LED

GPIO_SetBits(GPIOD, GPIO_Pin_14);

return 0;
}

I'm using uvision 5.13.0.0

It compiles and flash succesfully but nothing happen after. I don't know what is wrong with this. I also tried with this :

STM_EVAL_LEDInit(LED6);
STM_EVAL_LEDOn(LED6);

but there is no worked.

Can you help me ?
Many thanks :)

Parents
  • When you call __main, lots of things will happen before you reach your normal main() function.

    You might get a stack overflow.

    Or maybe your memory layout doesn't match your chip, so the startup code tries to initialize non-existing memory.

    Maybe your project specifies external memory, and you haven't initialized the memory controller that interfaces with the external memory.

Reply
  • When you call __main, lots of things will happen before you reach your normal main() function.

    You might get a stack overflow.

    Or maybe your memory layout doesn't match your chip, so the startup code tries to initialize non-existing memory.

    Maybe your project specifies external memory, and you haven't initialized the memory controller that interfaces with the external memory.

Children