DIY Logging Volt/Ampmeter
stm32f1xx_hal_gpio_ex.c
Go to the documentation of this file.
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  @verbatim
11  ==============================================================================
12  ##### GPIO Peripheral extension features #####
13  ==============================================================================
14  [..] GPIO module on STM32F1 family, manage also the AFIO register:
15  (+) Possibility to use the EVENTOUT Cortex feature
16 
17  ##### How to use this driver #####
18  ==============================================================================
19  [..] This driver provides functions to use EVENTOUT Cortex feature
20  (#) Configure EVENTOUT Cortex feature using the function HAL_GPIOEx_ConfigEventout()
21  (#) Activate EVENTOUT Cortex feature using the HAL_GPIOEx_EnableEventout()
22  (#) Deactivate EVENTOUT Cortex feature using the HAL_GPIOEx_DisableEventout()
23 
24  @endverbatim
25  ******************************************************************************
26  * @attention
27  *
28  * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
29  * All rights reserved.</center></h2>
30  *
31  * This software component is licensed by ST under BSD 3-Clause license,
32  * the "License"; You may not use this file except in compliance with the
33  * License. You may obtain a copy of the License at:
34  * opensource.org/licenses/BSD-3-Clause
35  *
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, uint32_t GPIO_PinSource)
82 {
83  /* Verify the parameters */
84  assert_param(IS_AFIO_EVENTOUT_PORT(GPIO_PortSource));
85  assert_param(IS_AFIO_EVENTOUT_PIN(GPIO_PinSource));
86 
87  /* Apply the new configuration */
88  MODIFY_REG(AFIO->EVCR, (AFIO_EVCR_PORT) | (AFIO_EVCR_PIN), (GPIO_PortSource) | (GPIO_PinSource));
89 }
90 
91 /**
92  * @brief Enables the Event Output.
93  * @retval None
94  */
96 {
97  SET_BIT(AFIO->EVCR, AFIO_EVCR_EVOE);
98 }
99 
100 /**
101  * @brief Disables the Event Output.
102  * @retval None
103  */
105 {
106  CLEAR_BIT(AFIO->EVCR, AFIO_EVCR_EVOE);
107 }
108 
109 /**
110  * @}
111  */
112 
113 /**
114  * @}
115  */
116 
117 #endif /* HAL_GPIO_MODULE_ENABLED */
118 
119 /**
120  * @}
121  */
122 
123 /**
124  * @}
125  */
126 
127 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
stm32f1xx_hal.h
This file contains all the functions prototypes for the HAL module driver.
AFIO_EVCR_PIN
#define AFIO_EVCR_PIN
Definition: stm32f103xb.h:1946
HAL_GPIOEx_ConfigEventout
void HAL_GPIOEx_ConfigEventout(uint32_t GPIO_PortSource, uint32_t GPIO_PinSource)
IS_AFIO_EVENTOUT_PIN
#define IS_AFIO_EVENTOUT_PIN(__PIN__)
Definition: stm32f1xx_hal_gpio_ex.h:71
HAL_GPIOEx_DisableEventout
void HAL_GPIOEx_DisableEventout(void)
assert_param
#define assert_param(expr)
Definition: stm32_assert.h:44
AFIO_EVCR_EVOE
#define AFIO_EVCR_EVOE
Definition: stm32f103xb.h:2024
HAL_GPIOEx_EnableEventout
void HAL_GPIOEx_EnableEventout(void)
MODIFY_REG
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
Definition: stm32f1xx.h:190
IS_AFIO_EVENTOUT_PORT
#define IS_AFIO_EVENTOUT_PORT(__PORT__)
Definition: stm32f1xx_hal_gpio_ex.h:101
AFIO
#define AFIO
Definition: stm32f103xb.h:663
SET_BIT
#define SET_BIT(REG, BIT)
Definition: stm32f1xx.h:178
CLEAR_BIT
#define CLEAR_BIT(REG, BIT)
Definition: stm32f1xx.h:180
AFIO_EVCR_PORT
#define AFIO_EVCR_PORT
Definition: stm32f103xb.h:2002