cancel
Showing results for 
Search instead for 
Did you mean: 

Can you please let me know if the mapping of LED2 on NUCLEO-H743ZI in code is not done as per the data sheet of the development board?

VRame
Associate II

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.

5 REPLIES 5

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

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..

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()

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..

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.

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.

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"