Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
9 years, 1 month ago.
STM32F401RE-Nucleo LED and BUTTON's problem
Hi,
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
STM32F401RE-Nucleo LED and BUTTON's problem
#include "stm32f4xx.h" #include "stm32f4xx_nucleo.h" #include "system_stm32f4xx.h" #include "stm32f4xx_hal_gpio.h" #include "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,
2 Answers
9 years, 1 month ago.
Works fine for me! The compiler cannot find stm32f4xx_nucleo.h. You do not need all the stm header files, all you need is mbed.h. Have you updated the stlink firmware?
9 years, 1 month ago.
Hi,
This mbed example do this in a simple way:
http://developer.mbed.org/teams/ST/code/Nucleo_read_button/
Regards.