gr55xx_hal_gpio.h
Go to the documentation of this file.
1 /**
2 ****************************************************************************************
3 *
4 * @file gr55xx_hal_gpio.h
5 * @author BLE Driver Team
6 * @brief Header file containing functions prototypes of GPIO HAL library.
7 *
8 ****************************************************************************************
9 * @attention
10 #####Copyright (c) 2019 GOODIX
11 All rights reserved.
12
13 Redistribution and use in source and binary forms, with or without
14 modification, are permitted provided that the following conditions are met:
15 * Redistributions of source code must retain the above copyright
16 notice, this list of conditions and the following disclaimer.
17 * Redistributions in binary form must reproduce the above copyright
18 notice, this list of conditions and the following disclaimer in the
19 documentation and/or other materials provided with the distribution.
20 * Neither the name of GOODIX nor the names of its contributors may be used
21 to endorse or promote products derived from this software without
22 specific prior written permission.
23
24 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
28 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 POSSIBILITY OF SUCH DAMAGE.
35 ****************************************************************************************
36 */
37
38 /** @addtogroup PERIPHERAL Peripheral Driver
39 * @{
40 */
41
42 /** @addtogroup HAL_DRIVER HAL Driver
43 * @{
44 */
45
46 /** @defgroup HAL_GPIO GPIO
47 * @brief GPIO HAL module driver.
48 * @{
49 */
50
51 /* Define to prevent recursive inclusion -------------------------------------*/
52 #ifndef __GR55xx_HAL_GPIO_H__
53 #define __GR55xx_HAL_GPIO_H__
54
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58
59 /* Includes ------------------------------------------------------------------*/
60 #include "gr55xx_ll_gpio.h"
61 #include "gr55xx_hal_def.h"
62
63 /* Exported types ------------------------------------------------------------*/
64 /** @addtogroup HAL_GPIO_CALLBACK_STRUCTURES Callback Structures
65 * @{
66 */
67
68 /** @defgroup HAL_GPIO_Callback Callback
69 * @{
70 */
71
72 /**
73 * @brief HAL_GPIO Callback function definition
74 */
75
76 typedef struct _hal_gpio_callback
77 {
78 void (*gpio_callback)(gpio_regs_t *GPIOx, uint16_t gpio_pin); /**< GPIO pin detection callback */
79 } hal_gpio_callback_t;
80
81 /** @} */
82
83 /** @} */
84
85 /** @addtogroup HAL_GPIO_ENUMERATIONS Enumerations
86 * @{
87 */
88
89 /**
90 * @brief GPIO Bit SET and Bit RESET Enumerations
91 */
92 typedef enum
93 {
94 GPIO_PIN_RESET = 0U, /**< GPIO pin low level.*/
95 GPIO_PIN_SET /**< GPIO pin high level.*/
96 } gpio_pin_state_t;
97
98 /** @} */
99
100
101 /** @addtogroup HAL_GPIO_STRUCTURES Structures
102 * @{
103 */
104
105 /**
106 * @brief GPIO init structure definition
107 */
108 typedef struct _gpio_init
109 {
110 uint32_t pin; /**< Specifies the GPIO pins to be configured.
111 This parameter can be any value of @ref GPIO_pins */
112
113 uint32_t mode; /**< Specifies the operating mode for the selected pins.
114 This parameter can be a value of @ref GPIO_mode */
115
116 uint32_t pull; /**< Specifies the Pull-up or Pull-Down activation for the selected pins.
117 This parameter can be a value of @ref GPIO_pull */
118
119 uint32_t mux; /**< Specifies the Peripheral to be connected to the selected pins.
120 This parameter can be a value of @ref GPIOEx_Mux_Function_Selection. */
121 } gpio_init_t;
122
123 /** @} */
124
125 /**
126 * @defgroup HAL_GPIO_MACRO Defines
127 * @{
128 */
129
130 /* Exported constants --------------------------------------------------------*/
131 /** @defgroup GPIO_Exported_Constants GPIO Exported Constants
132 * @{
133 */
134
135 /** @defgroup GPIO_pins GPIO pins
136 * @{
137 */
138 #define GPIO_PIN_0 ((uint16_t)0x0001U) /**< Pin 0 selected */
139 #define GPIO_PIN_1 ((uint16_t)0x0002U) /**< Pin 1 selected */
140 #define GPIO_PIN_2 ((uint16_t)0x0004U) /**< Pin 2 selected */
141 #define GPIO_PIN_3 ((uint16_t)0x0008U) /**< Pin 3 selected */
142 #define GPIO_PIN_4 ((uint16_t)0x0010U) /**< Pin 4 selected */
143 #define GPIO_PIN_5 ((uint16_t)0x0020U) /**< Pin 5 selected */
144 #define GPIO_PIN_6 ((uint16_t)0x0040U) /**< Pin 6 selected */
145 #define GPIO_PIN_7 ((uint16_t)0x0080U) /**< Pin 7 selected */
146 #define GPIO_PIN_8 ((uint16_t)0x0100U) /**< Pin 8 selected */
147 #define GPIO_PIN_9 ((uint16_t)0x0200U) /**< Pin 9 selected */
148 #define GPIO_PIN_10 ((uint16_t)0x0400U) /**< Pin 10 selected */
149 #define GPIO_PIN_11 ((uint16_t)0x0800U) /**< Pin 11 selected */
150 #define GPIO_PIN_12 ((uint16_t)0x1000U) /**< Pin 12 selected */
151 #define GPIO_PIN_13 ((uint16_t)0x2000U) /**< Pin 13 selected */
152 #define GPIO_PIN_14 ((uint16_t)0x4000U) /**< Pin 14 selected */
153 #define GPIO_PIN_15 ((uint16_t)0x8000U) /**< Pin 15 selected */
154 #define GPIO_PIN_ALL ((uint16_t)0xFFFFU) /**< All pins selected */
155
156 #define GPIO_PIN_MASK (0x0000FFFFU) /**< PIN mask for assert test */
157 /** @} */
158
159 /** @defgroup GPIO_mode GPIO mode
160 * @brief GPIO Configuration Mode
161 * Elements values convention: 0x000000YX
162 * - X : IO Direction mode (Input, Output, Mux)
163 * - Y : IT trigger detection
164 * @{
165 */
166 #define GPIO_MODE_INPUT (LL_GPIO_MODE_INPUT << 0) /**< Input Mode */
167 #define GPIO_MODE_OUTPUT (LL_GPIO_MODE_OUTPUT << 0) /**< Output Mode */
168 #define GPIO_MODE_MUX (LL_GPIO_MODE_MUX << 0) /**< Mux Mode */
169 #define GPIO_MODE_IT_RISING (LL_GPIO_TRIGGER_RISING << 4) /**< Interrupt Mode with Rising edge trigger detection */
170 #define GPIO_MODE_IT_FALLING (LL_GPIO_TRIGGER_FALLING << 4) /**< Interrupt Mode with Falling edge trigger detection */
171 #define GPIO_MODE_IT_HIGH (LL_GPIO_TRIGGER_HIGH << 4) /**< Interrupt Mode with High-level trigger detection */
172 #define GPIO_MODE_IT_LOW (LL_GPIO_TRIGGER_LOW << 4) /**< Interrupt Mode with Low-level trigger detection */
173 #define GPIO_MODE_IT_BOTH_EDGE (LL_GPIO_TRIGGER_BOTH_EDGE << 4) /**< Interrupt Mode with Rising and Falling edge trigger detection */
174
175 /** @} */
176
177 /** @defgroup GPIO_pull GPIO pull
178 * @brief GPIO Pull-Up or Pull-Down Activation
179 * @{
180 */
181 #define GPIO_NOPULL LL_GPIO_PULL_NO /**< No Pull-up or Pull-down activation */
182 #define GPIO_PULLUP LL_GPIO_PULL_UP /**< Pull-up activation */
183 #define GPIO_PULLDOWN LL_GPIO_PULL_DOWN /**< Pull-down activation */
184 /** @} */
185
186 /**
187 * @brief GPIO_default_config InitStruct default configuration
188 */
189 #define GPIO_DEFAULT_CONFIG \
190 { \
191 .pin = GPIO_PIN_ALL, \
192 .mode = GPIO_MODE_INPUT, \
193 .pull = GPIO_PULLDOWN, \
194 .mux = GPIO_PIN_MUX_GPIO, \
195 }
196
197 /** @} */
198
199 /* Exported macro ------------------------------------------------------------*/
200 /** @defgroup GPIO_Exported_Macros GPIO Exported Macros
201 * @{
202 */
203
204 /**
205 * @brief Check whether the specified GPIO pin is asserted or not.
206 * @param __GPIOX__ Where X can be (0, 1, 2) to select the GPIO peripheral port
207 * @param __GPIO_PIN__ Specifies the GPIO pin to check.
208 * This parameter can be GPIO_PIN_x where x can be (0..15)
209 * @retval The new state of __GPIO_PIN__ (SET or RESET).
210 */
211 #define __HAL_GPIO_IT_GET_IT(__GPIOX__, __GPIO_PIN__) ll_gpio_read_flag_it(__GPIOX__, __GPIO_PIN__)
212
213 /**
214 * @brief Clear the GPIO pin pending bits.
215 * @param __GPIOX__ Where X can be (0, 1, 2) to select the GPIO peripheral port
216 * @param __GPIO_PIN__ Specifies the GPIO pins to clear.
217 * This parameter can be any combination of GPIO_PIN_x where x can be (0..15)
218 * @retval None
219 */
220 #define __HAL_GPIO_IT_CLEAR_IT(__GPIOX__, __GPIO_PIN__) ll_gpio_clear_flag_it(__GPIOX__, __GPIO_PIN__)
221
222 /** @} */
223
224 /* Private macros ------------------------------------------------------------*/
225 /** @addtogroup GPIO_Private_Macros GPIO Private Macros
226 * @{
227 */
228
229 /**
230 * @brief Check if GPIO pin action is valid.
231 * @param __ACTION__ GPIO pin action.
232 * @retval SET (__ACTION__ is valid) or RESET (__ACTION__ is invalid)
233 */
234 #define IS_GPIO_PIN_ACTION(__ACTION__) (((__ACTION__) == GPIO_PIN_RESET) || ((__ACTION__) == GPIO_PIN_SET))
235
236 /**
237 * @brief Check if GPIO pins are valid.
238 * @param __PIN__ GPIO pins.
239 * @retval SET (__PIN__ is valid) or RESET (__PIN__ is invalid)
240 */
241 #define IS_GPIO_PIN(__PIN__) ((((__PIN__) & GPIO_PIN_MASK) != 0x00U) &&\
242 (((__PIN__) & ~GPIO_PIN_MASK) == 0x00U))
243
244 /**
245 * @brief Check if GPIO mode is valid.
246 * @param __MODE__ GPIO mode.
247 * @retval SET (__MODE__ is valid) or RESET (__MODE__ is invalid)
248 */
249
250 #define IS_GPIO_MODE(__MODE__) (((__MODE__) == GPIO_MODE_INPUT) ||\
251 ((__MODE__) == GPIO_MODE_OUTPUT) ||\
252 ((__MODE__) == GPIO_MODE_MUX) ||\
253 ((__MODE__) == GPIO_MODE_IT_RISING) ||\
254 ((__MODE__) == GPIO_MODE_IT_FALLING) ||\
255 ((__MODE__) == GPIO_MODE_IT_HIGH) ||\
256 ((__MODE__) == GPIO_MODE_IT_LOW) ||\
257 ((__MODE__) == GPIO_MODE_IT_BOTH_EDGE))
258
259 /**
260 * @brief Check if GPIO pull type is valid.
261 * @param __PULL__ GPIO pull type.
262 * @retval SET (__PULL__ is valid) or RESET (__PULL__ is invalid)
263 */
264 #define IS_GPIO_PULL(__PULL__) (((__PULL__) == GPIO_NOPULL) ||\
265 ((__PULL__) == GPIO_PULLUP) || \
266 ((__PULL__) == GPIO_PULLDOWN))
267
268 /** @} */
269
270 /** @} */
271
272 /* Include GPIO HAL Extended module */
273 #include "gr55xx_hal_gpio_ex.h"
274
275 /* Exported functions --------------------------------------------------------*/
276 /** @addtogroup HAL_GPIO_DRIVER_FUNCTIONS Functions
277 * @{
278 */
279
280 /** @addtogroup GPIO_Exported_Functions_Group1 Initialization/de-initialization functions
281 * @brief Initialization and de-initialization functions
282 * @{
283 */
284
285 /**
286 ****************************************************************************************
287 * @brief Initialize the GPIOx peripheral according to the specified parameters in the p_gpio_init.
288 *
289 * @param[in] GPIOx: Where x can be (0, 1, 2) to select the GPIO peripheral port
290 * @param[in] p_gpio_init: Pointer to a gpio_init_t structure that contains the configuration information
291 * for the specified GPIO peripheral port.
292 ****************************************************************************************
293 */
294 void hal_gpio_init(gpio_regs_t *GPIOx, gpio_init_t *p_gpio_init);
295
296 /**
297 ****************************************************************************************
298 * @brief De-initialize the GPIOx peripheral registers to their default reset values.
299 *
300 * @param[in] GPIOx: Where x can be (0, 1, 2) to select the GPIO peripheral port for GR55xx device
301 * @param[in] gpio_pin: Specifies the port bit to be written.
302 * This parameter can be a combination of the following values:
303 * @arg @ref GPIO_PIN_0
304 * @arg @ref GPIO_PIN_1
305 * @arg @ref GPIO_PIN_2
306 * @arg @ref GPIO_PIN_3
307 * @arg @ref GPIO_PIN_4
308 * @arg @ref GPIO_PIN_5
309 * @arg @ref GPIO_PIN_6
310 * @arg @ref GPIO_PIN_7
311 * @arg @ref GPIO_PIN_8
312 * @arg @ref GPIO_PIN_9
313 * @arg @ref GPIO_PIN_10
314 * @arg @ref GPIO_PIN_11
315 * @arg @ref GPIO_PIN_12
316 * @arg @ref GPIO_PIN_13
317 * @arg @ref GPIO_PIN_14
318 * @arg @ref GPIO_PIN_15
319 * @arg @ref GPIO_PIN_ALL
320 ****************************************************************************************
321 */
322 void hal_gpio_deinit(gpio_regs_t *GPIOx, uint32_t gpio_pin);
323
324 /** @} */
325
326 /** @addtogroup GPIO_Exported_Functions_Group2 IO operation functions
327 * @{
328 */
329
330 /**
331 ****************************************************************************************
332 * @brief Read the specified input port pin.
333 *
334 * @param[in] GPIOx: Where x can be (0, 1, 2) to select the GPIO peripheral port
335 * @param[in] gpio_pin: Specifies the port bit to be read.
336 * This parameter can be a one of the following values:
337 * @arg @ref GPIO_PIN_0
338 * @arg @ref GPIO_PIN_1
339 * @arg @ref GPIO_PIN_2
340 * @arg @ref GPIO_PIN_3
341 * @arg @ref GPIO_PIN_4
342 * @arg @ref GPIO_PIN_5
343 * @arg @ref GPIO_PIN_6
344 * @arg @ref GPIO_PIN_7
345 * @arg @ref GPIO_PIN_8
346 * @arg @ref GPIO_PIN_9
347 * @arg @ref GPIO_PIN_10
348 * @arg @ref GPIO_PIN_11
349 * @arg @ref GPIO_PIN_12
350 * @arg @ref GPIO_PIN_13
351 * @arg @ref GPIO_PIN_14
352 * @arg @ref GPIO_PIN_15
353 *
354 * @retval ::GPIO_PIN_RESET: GPIO pin low level.
355 * @retval ::GPIO_PIN_SET: GPIO pin high level.
356 ****************************************************************************************
357 */
358 gpio_pin_state_t hal_gpio_read_pin(gpio_regs_t *GPIOx, uint16_t gpio_pin);
359
360 /**
361 ****************************************************************************************
362 * @brief Set or clear the selected data port bit.
363 *
364 * @param[in] GPIOx: Where x can be (0, 1, 2) to select the GPIO peripheral port
365 * @param[in] gpio_pin: Specifies the port bit to be written.
366 * This parameter can be a combination of the following values:
367 * @arg @ref GPIO_PIN_0
368 * @arg @ref GPIO_PIN_1
369 * @arg @ref GPIO_PIN_2
370 * @arg @ref GPIO_PIN_3
371 * @arg @ref GPIO_PIN_4
372 * @arg @ref GPIO_PIN_5
373 * @arg @ref GPIO_PIN_6
374 * @arg @ref GPIO_PIN_7
375 * @arg @ref GPIO_PIN_8
376 * @arg @ref GPIO_PIN_9
377 * @arg @ref GPIO_PIN_10
378 * @arg @ref GPIO_PIN_11
379 * @arg @ref GPIO_PIN_12
380 * @arg @ref GPIO_PIN_13
381 * @arg @ref GPIO_PIN_14
382 * @arg @ref GPIO_PIN_15
383 * @arg @ref GPIO_PIN_ALL
384 * @param[in] pin_state: Specifies the value to be written to the selected bit.
385 * This parameter can be one of the GPIO_PinState enum values:
386 * @arg @ref GPIO_PIN_RESET clear the port pin
387 * @arg @ref GPIO_PIN_SET set the port pin
388 ****************************************************************************************
389 */
390 void hal_gpio_write_pin(gpio_regs_t *GPIOx, uint16_t gpio_pin, gpio_pin_state_t pin_state);
391
392 /**
393 ****************************************************************************************
394 * @brief Toggle the specified GPIO pin.
395 *
396 * @param[in] GPIOx: Where x can be (0, 1, 2) to select the GPIO peripheral port
397 * @param[in] gpio_pin: Specifies the pin to be toggled.
398 * This parameter can be a combination of the following values:
399 * @arg @ref GPIO_PIN_0
400 * @arg @ref GPIO_PIN_1
401 * @arg @ref GPIO_PIN_2
402 * @arg @ref GPIO_PIN_3
403 * @arg @ref GPIO_PIN_4
404 * @arg @ref GPIO_PIN_5
405 * @arg @ref GPIO_PIN_6
406 * @arg @ref GPIO_PIN_7
407 * @arg @ref GPIO_PIN_8
408 * @arg @ref GPIO_PIN_9
409 * @arg @ref GPIO_PIN_10
410 * @arg @ref GPIO_PIN_11
411 * @arg @ref GPIO_PIN_12
412 * @arg @ref GPIO_PIN_13
413 * @arg @ref GPIO_PIN_14
414 * @arg @ref GPIO_PIN_15
415 * @arg @ref GPIO_PIN_ALL
416 ****************************************************************************************
417 */
418 void hal_gpio_toggle_pin(gpio_regs_t *GPIOx, uint16_t gpio_pin);
419
420 /** @} */
421
422 /** @addtogroup GPIO_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
423 * @brief IRQ Handler and Callbacks functions
424 * @{
425 */
426
427 /**
428 ****************************************************************************************
429 * @brief Handle GPIO interrupt request.
430 *
431 * @param[in] GPIOx: Where x can be (0, 1, 2) to select the GPIO peripheral port
432 ****************************************************************************************
433 */
434 void hal_gpio_exti_irq_handler(gpio_regs_t *GPIOx);
435
436 /**
437 ****************************************************************************************
438 * @brief GPIO pin detection callback.
439 *
440 * @note This function should not be modified. When the callback is needed,
441 * the hal_gpio_exti_callback can be implemented in the user file.
442 *
443 * @param[in] GPIOx: Where x can be (0, 1, 2) to select the GPIO peripheral port
444 * @param[in] gpio_pin: Indicate the port pin whose interrupt was triggered.
445 * This parameter can be a combination of the following values:
446 * @arg @ref GPIO_PIN_0
447 * @arg @ref GPIO_PIN_1
448 * @arg @ref GPIO_PIN_2
449 * @arg @ref GPIO_PIN_3
450 * @arg @ref GPIO_PIN_4
451 * @arg @ref GPIO_PIN_5
452 * @arg @ref GPIO_PIN_6
453 * @arg @ref GPIO_PIN_7
454 * @arg @ref GPIO_PIN_8
455 * @arg @ref GPIO_PIN_9
456 * @arg @ref GPIO_PIN_10
457 * @arg @ref GPIO_PIN_11
458 * @arg @ref GPIO_PIN_12
459 * @arg @ref GPIO_PIN_13
460 * @arg @ref GPIO_PIN_14
461 * @arg @ref GPIO_PIN_15
462 * @arg @ref GPIO_PIN_ALL
463 ****************************************************************************************
464 */
465 void hal_gpio_exti_callback(gpio_regs_t *GPIOx, uint16_t gpio_pin);
466
467 /** @} */
468
469 /** @} */
470
471 #ifdef __cplusplus
472 }
473 #endif
474
475 #endif /* __GR55xx_HAL_GPIO_H__ */
476
477 /** @} */
478
479 /** @} */
480
481 /** @} */
_gpio_init::pull
uint32_t pull
Specifies the Pull-up or Pull-Down activation for the selected pins.
Definition: gr55xx_hal_gpio.h:116
gpio_pin_state_t
gpio_pin_state_t
GPIO Bit SET and Bit RESET Enumerations.
Definition: gr55xx_hal_gpio.h:93
hal_gpio_exti_callback
void hal_gpio_exti_callback(gpio_regs_t *GPIOx, uint16_t gpio_pin)
GPIO pin detection callback.
hal_gpio_callback_t
struct _hal_gpio_callback hal_gpio_callback_t
HAL_GPIO Callback function definition.
_gpio_init::mode
uint32_t mode
Specifies the operating mode for the selected pins.
Definition: gr55xx_hal_gpio.h:113
hal_gpio_init
void hal_gpio_init(gpio_regs_t *GPIOx, gpio_init_t *p_gpio_init)
Initialize the GPIOx peripheral according to the specified parameters in the p_gpio_init.
GPIO_PIN_SET
@ GPIO_PIN_SET
GPIO pin high level.
Definition: gr55xx_hal_gpio.h:95
_hal_gpio_callback
HAL_GPIO Callback function definition.
Definition: gr55xx_hal_gpio.h:77
GPIO_PIN_RESET
@ GPIO_PIN_RESET
GPIO pin low level.
Definition: gr55xx_hal_gpio.h:94
gr55xx_ll_gpio.h
Header file containing functions prototypes of GPIO LL library.
_gpio_init::pin
uint32_t pin
Specifies the GPIO pins to be configured.
Definition: gr55xx_hal_gpio.h:110
hal_gpio_read_pin
gpio_pin_state_t hal_gpio_read_pin(gpio_regs_t *GPIOx, uint16_t gpio_pin)
Read the specified input port pin.
_gpio_init::mux
uint32_t mux
Specifies the Peripheral to be connected to the selected pins.
Definition: gr55xx_hal_gpio.h:119
hal_gpio_toggle_pin
void hal_gpio_toggle_pin(gpio_regs_t *GPIOx, uint16_t gpio_pin)
Toggle the specified GPIO pin.
hal_gpio_exti_irq_handler
void hal_gpio_exti_irq_handler(gpio_regs_t *GPIOx)
Handle GPIO interrupt request.
_gpio_init
GPIO init structure definition.
Definition: gr55xx_hal_gpio.h:109
gr55xx_hal_gpio_ex.h
Header file containing extended macro of GPIO HAL library.
_hal_gpio_callback::gpio_callback
void(* gpio_callback)(gpio_regs_t *GPIOx, uint16_t gpio_pin)
GPIO pin detection callback
Definition: gr55xx_hal_gpio.h:78
hal_gpio_deinit
void hal_gpio_deinit(gpio_regs_t *GPIOx, uint32_t gpio_pin)
De-initialize the GPIOx peripheral registers to their default reset values.
hal_gpio_write_pin
void hal_gpio_write_pin(gpio_regs_t *GPIOx, uint16_t gpio_pin, gpio_pin_state_t pin_state)
Set or clear the selected data port bit.
gpio_init_t
struct _gpio_init gpio_init_t
GPIO init structure definition.
gr55xx_hal_def.h
This file contains HAL common definitions, enumeration, macros and structures definitions.