57 lines
1.1 KiB
C
57 lines
1.1 KiB
C
#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
|
|
|