Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c (4045B)
1 /** 2 ****************************************************************************** 3 * @file stm32f1xx_hal_gpio_ex.c 4 * @author MCD Application Team 5 * @brief GPIO Extension HAL module driver. 6 * This file provides firmware functions to manage the following 7 * functionalities of the General Purpose Input/Output (GPIO) extension peripheral. 8 * + Extended features functions 9 * 10 ****************************************************************************** 11 * @attention 12 * 13 * Copyright (c) 2016 STMicroelectronics. 14 * All rights reserved. 15 * 16 * This software is licensed under terms that can be found in the LICENSE file 17 * in the root directory of this software component. 18 * If no LICENSE file comes with this software, it is provided AS-IS. 19 * 20 ****************************************************************************** 21 @verbatim 22 ============================================================================== 23 ##### GPIO Peripheral extension features ##### 24 ============================================================================== 25 [..] GPIO module on STM32F1 family, manage also the AFIO register: 26 (+) Possibility to use the EVENTOUT Cortex feature 27 28 ##### How to use this driver ##### 29 ============================================================================== 30 [..] This driver provides functions to use EVENTOUT Cortex feature 31 (#) Configure EVENTOUT Cortex feature using the function HAL_GPIOEx_ConfigEventout() 32 (#) Activate EVENTOUT Cortex feature using the HAL_GPIOEx_EnableEventout() 33 (#) Deactivate EVENTOUT Cortex feature using the HAL_GPIOEx_DisableEventout() 34 35 @endverbatim 36 ****************************************************************************** 37 */ 38 39 /* Includes ------------------------------------------------------------------*/ 40 #include "stm32f1xx_hal.h" 41 42 /** @addtogroup STM32F1xx_HAL_Driver 43 * @{ 44 */ 45 46 /** @defgroup GPIOEx GPIOEx 47 * @brief GPIO HAL module driver 48 * @{ 49 */ 50 51 #ifdef HAL_GPIO_MODULE_ENABLED 52 53 /** @defgroup GPIOEx_Exported_Functions GPIOEx Exported Functions 54 * @{ 55 */ 56 57 /** @defgroup GPIOEx_Exported_Functions_Group1 Extended features functions 58 * @brief Extended features functions 59 * 60 @verbatim 61 ============================================================================== 62 ##### Extended features functions ##### 63 ============================================================================== 64 [..] This section provides functions allowing to: 65 (+) Configure EVENTOUT Cortex feature using the function HAL_GPIOEx_ConfigEventout() 66 (+) Activate EVENTOUT Cortex feature using the HAL_GPIOEx_EnableEventout() 67 (+) Deactivate EVENTOUT Cortex feature using the HAL_GPIOEx_DisableEventout() 68 69 @endverbatim 70 * @{ 71 */ 72 73 /** 74 * @brief Configures the port and pin on which the EVENTOUT Cortex signal will be connected. 75 * @param GPIO_PortSource Select the port used to output the Cortex EVENTOUT signal. 76 * This parameter can be a value of @ref GPIOEx_EVENTOUT_PORT. 77 * @param GPIO_PinSource Select the pin used to output the Cortex EVENTOUT signal. 78 * This parameter can be a value of @ref GPIOEx_EVENTOUT_PIN. 79 * @retval None 80 */ 81 void HAL_GPIOEx_ConfigEventout(uint32_t GPIO_PortSource, 82 uint32_t GPIO_PinSource) 83 { 84 /* Verify the parameters */ 85 assert_param(IS_AFIO_EVENTOUT_PORT(GPIO_PortSource)); 86 assert_param(IS_AFIO_EVENTOUT_PIN(GPIO_PinSource)); 87 88 /* Apply the new configuration */ 89 MODIFY_REG(AFIO->EVCR, (AFIO_EVCR_PORT) | (AFIO_EVCR_PIN), 90 (GPIO_PortSource) | (GPIO_PinSource)); 91 } 92 93 /** 94 * @brief Enables the Event Output. 95 * @retval None 96 */ 97 void HAL_GPIOEx_EnableEventout(void) 98 { 99 SET_BIT(AFIO->EVCR, AFIO_EVCR_EVOE); 100 } 101 102 /** 103 * @brief Disables the Event Output. 104 * @retval None 105 */ 106 void HAL_GPIOEx_DisableEventout(void) 107 { 108 CLEAR_BIT(AFIO->EVCR, AFIO_EVCR_EVOE); 109 } 110 111 /** 112 * @} 113 */ 114 115 /** 116 * @} 117 */ 118 119 #endif /* HAL_GPIO_MODULE_ENABLED */ 120 121 /** 122 * @} 123 */ 124 125 /** 126 * @} 127 */ 128
