WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hal_gpio_v150_comm.h
浏览该文件的文档.
1
10#ifndef HAL_GPIO_V150_COMM_H
11#define HAL_GPIO_V150_COMM_H
12
13#include <stdint.h>
14#include "common_def.h"
15#include "securec.h"
17#include "hal_gpio.h"
18#include "gpio_porting.h"
19
20#ifdef __cplusplus
21#if __cplusplus
22extern "C" {
23#endif /* __cplusplus */
24#endif /* __cplusplus */
25
37
44static inline hal_gpio_group_info_t *hal_gpio_v150_group_info_get(uint32_t channel, uint32_t group)
45{
47}
48
55static inline uint32_t hal_gpio_v150_callback_registered_get(uint32_t channel, uint32_t group)
56{
58}
59
66static inline void hal_gpio_v150_callback_registered_set_true(uint32_t channel, uint32_t group, uint32_t group_pin)
67{
69}
70
77static inline void hal_gpio_v150_callback_registered_set_false(uint32_t channel, uint32_t group, uint32_t group_pin)
78{
79 gpio_porting_group_context_get(channel, group)->cb_registered &= ~(bit(group_pin));
80}
81
89static inline gpio_callback_t hal_gpio_v150_callback_get(uint32_t channel, uint32_t group, uint32_t group_pin)
90{
92 hal_gpio_v150_group_info_get(channel, group)->start_callback_id + group_pin];
93}
94
102static inline void hal_gpio_v150_callback_set(uint32_t channel, uint32_t group, uint32_t group_pin,
103 gpio_callback_t callback)
104{
106 hal_gpio_v150_group_info_get(channel, group)->start_callback_id + group_pin] = callback;
107}
108
112static inline void hal_gpio_v150_callback_list_clean(void)
113{
115 sizeof(gpio_callback_t) * GPIO_PIN_NUM);
116}
117
123static inline uintptr_t hal_gpio_v150_irq_num_get(uint32_t channel)
124{
125 return gpio_porting_channel_info_get(channel)->irq_num;
126}
127
133static inline uint32_t hal_gpio_v150_group_num_get(uint32_t channel)
134{
136}
137
142void hal_gpio_v150_register_irq(uint32_t int_id);
143
148void hal_gpio_v150_unregister_irq(uint32_t int_id);
149
158errcode_t hal_gpio_v150_pin_info_get(pin_t pin, uint32_t *channel, uint32_t *group, uint32_t *group_pin);
159
167uint32_t hal_gpio_v150_pin_id_get(uint32_t channel, uint32_t group, uint32_t group_pin);
168
177errcode_t hal_gpio_v150_register_cb(uint32_t channel, uint32_t group, uint32_t group_pin, gpio_callback_t cb);
178
185void hal_gpio_v150_unregister_cb(uint32_t channel, uint32_t group, uint32_t group_pin);
186
191#ifdef __cplusplus
192#if __cplusplus
193}
194#endif /* __cplusplus */
195#endif /* __cplusplus */
196
197#endif
#define bit(x)
Definition common_def.h:71
pin_t
Definition of pin.
Definition platform_core_rom.h:30
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
void(* gpio_callback_t)(pin_t pin, uintptr_t param)
GPIO回调的类型定义,它返回发起中断的PIN的编号。
Definition hal_gpio.h:172
errcode_t hal_gpio_v150_pin_info_get(pin_t pin, uint32_t *channel, uint32_t *group, uint32_t *group_pin)
Get GPIO pin info of target pin, including channel ID, group ID and group_pin ID.
Definition hal_gpio_v150_comm.c:87
void hal_gpio_v150_unregister_cb(uint32_t channel, uint32_t group, uint32_t group_pin)
Unregister GPIO callback.
Definition hal_gpio_v150_comm.c:138
gpio_callback_t * hal_gpio_v150_callback_list_get(void)
Get GPIO callback list.
Definition hal_gpio_v150_comm.c:19
void hal_gpio_v150_unregister_irq(uint32_t int_id)
Unregister IRQ number of GPIO.
Definition hal_gpio_v150_comm.c:82
uint32_t hal_gpio_v150_pin_id_get(uint32_t channel, uint32_t group, uint32_t group_pin)
Get GPIO pin ID of target pin.
Definition hal_gpio_v150_comm.c:121
void hal_gpio_v150_register_irq(uint32_t int_id)
Register IRQ number of GPIO.
Definition hal_gpio_v150_comm.c:77
errcode_t hal_gpio_v150_register_cb(uint32_t channel, uint32_t group, uint32_t group_pin, gpio_callback_t cb)
Register GPIO callback.
Definition hal_gpio_v150_comm.c:126
hal_gpio_group_context_t * gpio_porting_group_context_get(uint32_t channel, uint32_t group)
Get GPIO group context of target channel and group.
Definition gpio_porting.c:101
#define GPIO_PIN_NUM
Definition gpio_porting.h:57
hal_gpio_channel_info_t * gpio_porting_channel_info_get(uint32_t channel)
Get GPIO channel info.
Definition gpio_porting.c:96
osal_u32 group
Definition oal_net.h:3
errno_t memset_s(void *dest, size_t destMax, int c, size_t count)
uint32_t group_num
Definition hal_gpio_v150_comm_def.h:50
hal_gpio_group_info_t * group_list
Definition hal_gpio_v150_comm_def.h:53
uint32_t irq_num
Definition hal_gpio_v150_comm_def.h:51
uint32_t cb_registered
Definition hal_gpio_v150_comm_def.h:32
GPIO group info definition.
Definition hal_gpio_v150_comm_def.h:38
uint32_t start_callback_id
Definition hal_gpio_v150_comm_def.h:41
unsigned int uintptr_t
Definition td_type.h:65