Files
hpw421/component/boot2/bsp/bsp_gpio_normal.h
T
2026-07-03 18:08:25 +08:00

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