hw_gpio.h 1.53 KB
#ifndef _HW_GPIO_H
#define _HW_GPIO_H


#define GPIO0_READ(mask)    (REG_GPIO0_DIN & mask)
#define GPIO1_READ(mask)    (REG_GPIO1_DIN & mask)
#define GPIO2_READ(mask)    (REG_GPIO2_DIN & mask)

#define GPIO_MUXFUNCTION_SELECT(mask,inout)      app_gpio_MUXfunction_select(mask,inout)
#define GPIO_OUTPUT_LEVEL_SET(mask,level)	     app_gpio_output_level_set(mask,level)
#define GPIO_INPUT_LEVEL_READ(mask)              app_gpio_input_level_read(mask)
__inline__ void gpio0_SetOutput_level(U32 mask, U8 level);
__inline__ void gpio1_SetOutput_level(U32 mask, U8 level);
__inline__ void gpio2_SetOutput_level(U32 mask, U8 level);

__inline__ U32 gpio0_input_level_read(U32 mask);
__inline__ U32 gpio1_input_level_read(U32 mask);
__inline__ U32 gpio2_input_level_read(U32 mask);

__inline__ void gpio0_interrupt_set(U32 mask,U8 enable, U8 Trigger_type, U8 Trigger_level);
__inline__ void gpio1_interrupt_set(U32 mask,U8 enable, U8 Trigger_type, U8 Trigger_level);
__inline__ void gpio2_interrupt_set(U32 mask,U8 enable, U8 Trigger_type, U8 Trigger_level);

__inline__ U32 gpio0_interrupt_st_mask_read(U32 mask);
__inline__ U32 gpio1_interrupt_st_mask_read(U32 mask);
__inline__ U32 gpio2_interrupt_st_mask_read(U32 mask);

__inline__ U32 gpio0_interrupt_st_groud_read(void);
__inline__ U32 gpio1_interrupt_st_groud_read(void);
__inline__ U32 gpio2_interrupt_st_groud_read(void);

__inline__ void gpio0_MUX_select(U32 mask, U8 select);
__inline__ void gpio1_MUX_select(U32 mask, U8 select);
__inline__ void gpio2_MUX_select(U32 mask, U8 select);


#endif //_HW_GPIO_H