cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F401RE-Nucleo LED and BUTTON's problem

gpt1_account
Associate
Posted on April 07, 2015 at 18:22

Hello,

I am trying to run a simple program on my new Nucleo board,

I made this program in order to turn on and off the green led when i press the user's button (the blue one), http://pastebin.com/9Q7KxsVA

&sharpinclude ''stm32f4xx.h''

&sharpinclude ''stm32f4xx_nucleo.h''

&sharpinclude ''system_stm32f4xx.h''

&sharpinclude ''stm32f4xx_hal_gpio.h''

&sharpinclude ''stm32f4xx_hal_rcc.h''

GPIO_InitTypeDef GPIO_InitStructure;

int main(void) {

    

    HAL_Init();    

        

    __GPIOA_CLK_ENABLE();

    GPIO_InitStructure.Pin   = GPIO_PIN_5;

    GPIO_InitStructure.Mode  = GPIO_MODE_OUTPUT_PP;    

    GPIO_InitStructure.Pull  = GPIO_PULLUP;

    GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;  

    HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);    

    

    __GPIOC_CLK_ENABLE();

    GPIO_InitStructure.Pin   = GPIO_PIN_13;

    GPIO_InitStructure.Mode  = GPIO_MODE_INPUT;

    GPIO_InitStructure.Pull  = GPIO_PULLDOWN;

    GPIO_InitStructure.Speed = GPIO_SPEED_FAST;

    HAL_GPIO_Init(GPIOC, &GPIO_InitStructure);

    

    while (1) {

        if (HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13)) {            

            HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);

        } else {

            HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);

        }

    }

}

But i am getting wrong result:

- when i press the user's button, nothing happen,

- when i keep pressing the user's button and i restart (by pressing the black button), i get good result,

It seems like the program checks the state of the blue button only at the first run, i don't know why,

Please help me if you have any ideas of what the problem comes from, or if you have a running program  that switch the led on button press.

Thank you,

#stm32-st-nucleo-f401re
1 REPLY 1
l239955_stm1
Associate II
Posted on April 08, 2015 at 07:17

Hi samy,

do you have system clock configuration in your program?