19 #if defined(USE_FULL_LL_DRIVER) 24 #ifdef USE_FULL_ASSERT 25 #include "stm32_assert.h" 27 #define assert_param(expr) ((void)0U) 34 #if defined (GPIOA) || defined (GPIOB) || defined (GPIOC) || defined (GPIOD) || defined (GPIOE) || defined (GPIOF) || defined (GPIOG) || defined (GPIOH) || defined (GPIOI) 52 #define IS_LL_GPIO_PIN(__VALUE__) (((0x00u) < (__VALUE__)) && ((__VALUE__) <= (LL_GPIO_PIN_ALL))) 54 #define IS_LL_GPIO_MODE(__VALUE__) (((__VALUE__) == LL_GPIO_MODE_INPUT) ||\ 55 ((__VALUE__) == LL_GPIO_MODE_OUTPUT) ||\ 56 ((__VALUE__) == LL_GPIO_MODE_ALTERNATE) ||\ 57 ((__VALUE__) == LL_GPIO_MODE_ANALOG)) 59 #define IS_LL_GPIO_OUTPUT_TYPE(__VALUE__) (((__VALUE__) == LL_GPIO_OUTPUT_PUSHPULL) ||\ 60 ((__VALUE__) == LL_GPIO_OUTPUT_OPENDRAIN)) 62 #define IS_LL_GPIO_SPEED(__VALUE__) (((__VALUE__) == LL_GPIO_SPEED_FREQ_LOW) ||\ 63 ((__VALUE__) == LL_GPIO_SPEED_FREQ_MEDIUM) ||\ 64 ((__VALUE__) == LL_GPIO_SPEED_FREQ_HIGH) ||\ 65 ((__VALUE__) == LL_GPIO_SPEED_FREQ_VERY_HIGH)) 67 #define IS_LL_GPIO_PULL(__VALUE__) (((__VALUE__) == LL_GPIO_PULL_NO) ||\ 68 ((__VALUE__) == LL_GPIO_PULL_UP) ||\ 69 ((__VALUE__) == LL_GPIO_PULL_DOWN)) 71 #define IS_LL_GPIO_ALTERNATE(__VALUE__) (((__VALUE__) == LL_GPIO_AF_0 ) ||\ 72 ((__VALUE__) == LL_GPIO_AF_1 ) ||\ 73 ((__VALUE__) == LL_GPIO_AF_2 ) ||\ 74 ((__VALUE__) == LL_GPIO_AF_3 ) ||\ 75 ((__VALUE__) == LL_GPIO_AF_4 ) ||\ 76 ((__VALUE__) == LL_GPIO_AF_5 ) ||\ 77 ((__VALUE__) == LL_GPIO_AF_6 ) ||\ 78 ((__VALUE__) == LL_GPIO_AF_7 ) ||\ 79 ((__VALUE__) == LL_GPIO_AF_8 ) ||\ 80 ((__VALUE__) == LL_GPIO_AF_9 ) ||\ 81 ((__VALUE__) == LL_GPIO_AF_10 ) ||\ 82 ((__VALUE__) == LL_GPIO_AF_11 ) ||\ 83 ((__VALUE__) == LL_GPIO_AF_12 ) ||\ 84 ((__VALUE__) == LL_GPIO_AF_13 ) ||\ 85 ((__VALUE__) == LL_GPIO_AF_14 ) ||\ 86 ((__VALUE__) == LL_GPIO_AF_15 )) 111 ErrorStatus status = SUCCESS;
122 else if (GPIOx == GPIOB)
127 else if (GPIOx == GPIOC)
133 else if (GPIOx == GPIOD)
140 else if (GPIOx == GPIOE)
147 else if (GPIOx == GPIOF)
154 else if (GPIOx == GPIOG)
161 else if (GPIOx == GPIOH)
168 else if (GPIOx == GPIOI)
204 pinpos = POSITION_VAL(GPIO_InitStruct->
Pin);
207 while (((GPIO_InitStruct->
Pin) >> pinpos) != 0x00u)
210 currentpin = (GPIO_InitStruct->
Pin) & (0x00000001uL << pinpos);
212 if (currentpin != 0x00u)
217 if ((GPIO_InitStruct->
Mode == LL_GPIO_MODE_OUTPUT) || (GPIO_InitStruct->
Mode == LL_GPIO_MODE_ALTERNATE))
229 if (GPIO_InitStruct->
Mode == LL_GPIO_MODE_ALTERNATE)
235 if (currentpin < LL_GPIO_PIN_8)
248 if ((GPIO_InitStruct->
Mode == LL_GPIO_MODE_OUTPUT) || (GPIO_InitStruct->
Mode == LL_GPIO_MODE_ALTERNATE))
270 GPIO_InitStruct->
Pin = LL_GPIO_PIN_ALL;
271 GPIO_InitStruct->
Mode = LL_GPIO_MODE_ANALOG;
272 GPIO_InitStruct->
Speed = LL_GPIO_SPEED_FREQ_LOW;
273 GPIO_InitStruct->
OutputType = LL_GPIO_OUTPUT_PUSHPULL;
274 GPIO_InitStruct->
Pull = LL_GPIO_PULL_NO;
275 GPIO_InitStruct->
Alternate = LL_GPIO_AF_0;
ErrorStatus LL_GPIO_DeInit(GPIO_TypeDef *GPIOx)
De-initialize GPIO registers (Registers restored to their default values).
Header file of GPIO LL module.
LL GPIO Init Structure definition.
__STATIC_INLINE void LL_GPIO_SetPinOutputType(GPIO_TypeDef *GPIOx, uint32_t PinMask, uint32_t OutputType)
Configure gpio output type for several pins on dedicated port.
__STATIC_INLINE void LL_GPIO_SetAFPin_0_7(GPIO_TypeDef *GPIOx, uint32_t Pin, uint32_t Alternate)
Configure gpio alternate function of a dedicated pin from 0 to 7 for a dedicated port.
__STATIC_INLINE void LL_AHB2_GRP1_ForceReset(uint32_t Periphs)
Force AHB2 peripherals reset. AHB2RSTR GPIOARST LL_AHB2_GRP1_ForceReset AHB2RSTR GPIOBRST LL_AHB2_G...
__STATIC_INLINE void LL_GPIO_SetPinSpeed(GPIO_TypeDef *GPIOx, uint32_t Pin, uint32_t Speed)
Configure gpio speed for a dedicated pin on dedicated port.
__STATIC_INLINE void LL_AHB2_GRP1_ReleaseReset(uint32_t Periphs)
Release AHB2 peripherals reset. AHB2RSTR GPIOARST LL_AHB2_GRP1_ReleaseReset AHB2RSTR GPIOBRST LL_AH...
__STATIC_INLINE void LL_GPIO_SetPinPull(GPIO_TypeDef *GPIOx, uint32_t Pin, uint32_t Pull)
Configure gpio pull-up or pull-down for a dedicated pin on a dedicated port.
__STATIC_INLINE void LL_GPIO_SetAFPin_8_15(GPIO_TypeDef *GPIOx, uint32_t Pin, uint32_t Alternate)
Configure gpio alternate function of a dedicated pin from 8 to 15 for a dedicated port...
Header file of BUS LL module.
__STATIC_INLINE void LL_GPIO_SetPinMode(GPIO_TypeDef *GPIOx, uint32_t Pin, uint32_t Mode)
Configure gpio mode for a dedicated pin on dedicated port.
ErrorStatus LL_GPIO_Init(GPIO_TypeDef *GPIOx, LL_GPIO_InitTypeDef *GPIO_InitStruct)
Initialize GPIO registers according to the specified parameters in GPIO_InitStruct.
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
void LL_GPIO_StructInit(LL_GPIO_InitTypeDef *GPIO_InitStruct)
Set each LL_GPIO_InitTypeDef field to default value.