2019-07-24 06:18 AM
as Mapping of LED2 is on PE1 in the code for NUCLEO-H743ZI board in ..\en.stm32cubeh7\STM32Cube_FW_H7_V1.5.0\Drivers\BSP\STM32H7xx_Nucleo_144\stm32h7xx_nucleo_144.h file.
But the LED2 is mapped to PB7 in the datasheet of the evaluation kit datasheet.
Because of this mismatch i am unable to blink the LED in blue by using the header file provided by STM.
Thank you.
2019-07-24 08:29 AM
So modify the header..
Is this the original NUCLEO-H743ZI, or the new H743ZI2 board with the ST-LINK/V3?
NUCLEO-H743ZI (UM1974)
LED2 BLUE PB7
NUCLEO-H743ZI2 (UM2407)
LED2 YELLOW PE1
2019-07-24 08:36 AM
Make sure NOT to define USE_STM32H7XX_NUCLEO_144_MB1363 or USE_STM32H7XX_NUCLEO_144_MB1364 in your project metadata if using the MB1137 board
/**
* @brief Define for STM32H7xx_NUCLEO_144 board
*/
#if !defined (USE_STM32H7XX_NUCLEO_144) && !defined (USE_STM32H7XX_NUCLEO_144_MB1363) && !defined (USE_STM32H7XX_NUCLEO_144_MB1364)
#define USE_STM32H7XX_NUCLEO_144
#endif
/** @defgroup STM32H7xx_NUCLEO_144_LED NUCLEO_144 LED
* @{
*/
#define LEDn 3
#define LED1_PIN GPIO_PIN_0
#define LED1_GPIO_PORT GPIOB
#define LED1_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
#define LED1_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
#if defined (USE_STM32H7XX_NUCLEO_144_MB1363) || defined (USE_STM32H7XX_NUCLEO_144_MB1364)
#define LED2_PIN GPIO_PIN_1
#define LED2_GPIO_PORT GPIOE
#define LED2_GPIO_CLK_ENABLE() __HAL_RCC_GPIOE_CLK_ENABLE()
#define LED2_GPIO_CLK_DISABLE() __HAL_RCC_GPIOE_CLK_DISABLE()
#else
#define LED2_PIN GPIO_PIN_7
#define LED2_GPIO_PORT GPIOB
#define LED2_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
#define LED2_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
#endif /* USE_STM32H7XX_NUCLEO_144_MB1363 */
#define LED3_PIN GPIO_PIN_14
#define LED3_GPIO_PORT GPIOB
#define LED3_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
#define LED3_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
2019-07-24 11:40 PM
Hi Clive,
Thanks for the replies.
It is NUCLEO-H743ZI (UM1974)
LED2 BLUE PB7, and it is a MB1137 board.
I have not defined the USE_STM32H7XX_NUCLEO_144_MB1363 or USE_STM32H7XX_NUCLEO_144_MB1364 in my main.h file.
I have searched and could not locate #define USE_STM32H7XX_NUCLEO_144_MB1363 or #define USE_STM32H7XX_NUCLEO_144_MB1364 in the entire project folder.
Can you please let me know as how can i make sure USE_STM32H7XX_NUCLEO_144_MB1363 or USE_STM32H7XX_NUCLEO_144_MB1364 are NOT defined in my project metadata as i am using the MB1137 board as this will solve the problem for me?
Thank you.
2019-07-24 11:47 PM
Hi Clive,
I got the solution for this.
It was in options for target-> C/C++->Pre processor symbols
I have edited the pre processor symbols and now its working.
Thank you for the help.
2019-07-25 12:29 AM
Yup that where it is defined.
You can either remove it completely because if there is no bard type define then it will use "USE_STM32H7XX_NUCLEO_144" as a default board type
OR (optional) replace it with "USE_STM32H7XX_NUCLEO_144"