/** ****************************************************************************** * @file Examples_LL/USART/USART_Communication_Tx_IT/Inc/main.h * @author MCD Application Team * @brief Header for main.c module ****************************************************************************** * @attention * * Copyright (c) 2017 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** *//* ... *//* Define to prevent recursive inclusion -------------------------------------*/#ifndef__MAIN_H#define__MAIN_H/* Includes ------------------------------------------------------------------*/#include"stm32f4xx_ll_bus.h"#include"stm32f4xx_ll_rcc.h"#include"stm32f4xx_ll_system.h"#include"stm32f4xx_ll_utils.h"#include"stm32f4xx_ll_gpio.h"#include"stm32f4xx_ll_exti.h"#include"stm32f4xx_ll_usart.h"#include"stm32f4xx_ll_pwr.h"8 includes#ifdefined(USE_FULL_ASSERT)#include"stm32_assert.h"#endif/* USE_FULL_ASSERT */Includes/* Exported types ------------------------------------------------------------*//* Exported constants --------------------------------------------------------*//* Define used to enable Virtual Com Port use : USE_VCP_CONNECTION == 0 USART1 instance is used. (TX on PA.09, RX on PA.10) (requires wiring USART1 TX/Rx Pins to PC connection (could be achieved thanks to a USB to UART adapter) USE_VCP_CONNECTION == 1 USART2 instance is used. (TX on PA.02, RX on PA.03) (please ensure that USART communication between the target MCU and ST-LINK MCU is properly enabled on HW board in order to support Virtual Com Port)*//* ... */#defineUSE_VCP_CONNECTION1/* Private definitions covering GPIO clock and USART pins depending on selected USART instance. *//* ... */#if(USE_VCP_CONNECTION==0)/* USART1 instance is used. (TX on PA.09, RX on PA.10) (requires wiring USART1 TX/Rx Pins to USB to UART adapter) *//* ... */#defineUSARTx_INSTANCEUSART1#defineUSARTx_CLK_ENABLE()LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1)#defineUSARTx_IRQnUSART1_IRQn#defineUSARTx_IRQHandlerUSART1_IRQHandler#defineUSARTx_GPIO_CLK_ENABLE()LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA)/* Enable the peripheral clock of GPIOA */#defineUSARTx_TX_PINLL_GPIO_PIN_9#defineUSARTx_TX_GPIO_PORTGPIOA#defineUSARTx_SET_TX_GPIO_AF()LL_GPIO_SetAFPin_8_15(GPIOA,LL_GPIO_PIN_9,LL_GPIO_AF_7)#defineUSARTx_RX_PINLL_GPIO_PIN_10#defineUSARTx_RX_GPIO_PORTGPIOA#defineUSARTx_SET_RX_GPIO_AF()LL_GPIO_SetAFPin_8_15(GPIOA,LL_GPIO_PIN_10,LL_GPIO_AF_7)#defineAPB_Div112 defines/* ... */#else/* USART2 instance is used. (TX on PA.02, RX on PA.03) (please ensure that USART communication between the target MCU and ST-LINK MCU is properly enabled on HW board in order to support Virtual Com Port) *//* ... */#defineUSARTx_INSTANCEUSART2#defineUSARTx_CLK_ENABLE()LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_USART2)#defineUSARTx_IRQnUSART2_IRQn#defineUSARTx_IRQHandlerUSART2_IRQHandler#defineUSARTx_GPIO_CLK_ENABLE()LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA)/* Enable the peripheral clock of GPIOA */#defineUSARTx_TX_PINLL_GPIO_PIN_2#defineUSARTx_TX_GPIO_PORTGPIOA#defineUSARTx_SET_TX_GPIO_AF()LL_GPIO_SetAFPin_0_7(GPIOA,LL_GPIO_PIN_2,LL_GPIO_AF_7)#defineUSARTx_RX_PINLL_GPIO_PIN_3#defineUSARTx_RX_GPIO_PORTGPIOA#defineUSARTx_SET_RX_GPIO_AF()LL_GPIO_SetAFPin_0_7(GPIOA,LL_GPIO_PIN_3,LL_GPIO_AF_7)#defineAPB_Div212 defines/* ... */#endif/* (USE_VCP_CONNECTION == 0) *//** * @brief LED2 *//* ... */#defineLED2_PINLL_GPIO_PIN_5#defineLED2_GPIO_PORTGPIOA#defineLED2_GPIO_CLK_ENABLE()LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA)/** * @brief Toggle periods for various blinking modes *//* ... */#defineLED_BLINK_FAST200#defineLED_BLINK_SLOW500#defineLED_BLINK_ERROR1000/** * @brief Key push-button *//* ... */#defineUSER_BUTTON_PINLL_GPIO_PIN_13#defineUSER_BUTTON_GPIO_PORTGPIOC#defineUSER_BUTTON_GPIO_CLK_ENABLE()LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOC)#defineUSER_BUTTON_EXTI_LINELL_EXTI_LINE_13#defineUSER_BUTTON_EXTI_IRQnEXTI15_10_IRQn#defineUSER_BUTTON_EXTI_LINE_ENABLE()LL_EXTI_EnableIT_0_31(USER_BUTTON_EXTI_LINE)#defineUSER_BUTTON_EXTI_FALLING_TRIG_ENABLE()LL_EXTI_EnableFallingTrig_0_31(USER_BUTTON_EXTI_LINE)#defineUSER_BUTTON_SYSCFG_SET_EXTI()do{\LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_SYSCFG);\LL_SYSCFG_SetEXTISource(LL_SYSCFG_EXTI_PORTC,LL_SYSCFG_EXTI_LINE13);\...}while(0)...#defineUSER_BUTTON_IRQHANDLEREXTI15_10_IRQHandler15 definesExported constants/* Exported macro ------------------------------------------------------------*//* Exported functions ------------------------------------------------------- *//* IRQ Handler treatment functions */voidUserButton_Callback(void);voidUSART_TXEmpty_Callback(void);voidUSART_CharTransmitComplete_Callback(void);voidError_Callback(void);Exported functions/* ... */#endif/* __MAIN_H */