#ifndef __BSP_GPIO_H_ #define __BSP_GPIO_H_ #include "xinc_m0.h" #define DETECT_INTER_NUM(num,val) ((num>=32)?((val[1]>>(num&0x1F))&0x01):((val[0]>>num)&0x01)) typedef enum{ NOT_INT=0, NA1_INT, NA2_INT, NA3_INT, NA4_INT, RIS_EDGE_INT,//ÉÏÉýÑØ NA6_INT, FAIL_EDGE_INT,//ϽµÑØ }GPIO_INT_TypeDef; typedef enum{ GPIO_Dx=0,// UART0_TX, UART0_RX, UART0_CTS, UART0_RTS, I2C_SCL, I2C_SDA, UART1_RX, UART1_TX, SIM_IO, SIM_RST, SIM_CLK_OUT, PWM0, PWM1, SSI1_CLK, SSI1_SSN, SSI1_RX, SSI1_TX, PWM0_INV, PWM1_INV, PWM2_INV, PWM3_INV, }GPIO_FUN_SEL_TypeDef; extern void Init_gpio(void); extern void gpio_output_high(uint8_t num); extern void gpio_output_low(uint8_t num); extern void gpio_mux_ctl_u(uint8_t num,uint8_t mux); extern uint8_t gpio_input_val(uint8_t num); extern void gpio_direction_output(uint8_t num); extern void gpio_direction_input(uint8_t gpio_id, uint8_t pull_up_enable); extern void gpio_mux_ctl(uint8_t num,uint8_t mux); extern void gpio_fun_inter(uint8_t num,uint8_t inter); extern void gpio_fun_sel(uint8_t num,uint8_t sel); #endif