| | |
| | | #define PCA_INPUT_CONFIG_MASK 0xff |
| | | #define SDA_0 gpio_pin_clr(SDA_PIN) |
| | | #define SCL_0 gpio_pin_clr(SCL_PIN) |
| | | #define PCA_INPUT_DETECT IO_PIN_17 |
| | | |
| | | //输出和配置 |
| | | #define MAX_GPIO_NUM 16 |
| | | |
| | | ////0组 |
| | | //#define MCU_A 0x01 |
| | | //#define CHG_G 0x02 |
| | | //#define LORA_IRQ 0x03 |
| | | //#define LORA_NRST 0x04 |
| | | //#define ADC_MINIUS 0x05 |
| | | //#define INPUT_5V 0x06 |
| | | //#define PWR_ON 0x07 |
| | | //#define PWR_ENABLE 0x08 |
| | | ////1组 |
| | | //#define GPS_LED 0x09 |
| | | //#define TTS_ENABLE 0x0A |
| | | //#define WAKE_UP 0x0B |
| | | //#define AIR780E_ENBALE 0x0C |
| | | //#define SOS_ENBALE 0x0D |
| | | //#define GPS_BACKUP 0x0E |
| | | //#define GPS_POWER 0x0F |
| | | //#define MAIN_RI 0x10 |
| | | |
| | | //重新定义宏 |
| | | //0组 |
| | | #define MCU_A 0x01 |
| | | #define CHG_G 0x02 |
| | | #define LORA_IRQ 0x03 |
| | | #define LORA_NRST 0x04 |
| | | #define ADC_MINIUS 0x05 |
| | | #define INPUT_5V 0x06 |
| | | #define PWR_ON 0x07 |
| | | #define PWR_ENABLE 0x08 |
| | | #define PWR_GND 0x01 |
| | | #define IN_5V 0x02 |
| | | #define CHGN 0x03 |
| | | #define MOTO 0x04 |
| | | #define BT_IRQ 0x05 |
| | | #define RED_LED 0x06 |
| | | #define GREEN_LED 0x07 |
| | | #define BT_LED 0x08 |
| | | //1组 |
| | | #define GPS_LED 0x09 |
| | | #define TTS_ENABLE 0x0A |
| | | #define WAKE_UP 0x0B |
| | | #define AIR780E_ENBALE 0x0C |
| | | #define SOS_ENBALE 0x0D |
| | | #define GPS_BACKUP 0x0E |
| | | #define GPS_POWER 0x0F |
| | | #define MAIN_RI 0x10 |
| | | #define LORA_LED 0x09 |
| | | #define UWB_LED 0x0A |
| | | #define IO_KONG 0x0B |
| | | #define LORA_IRQ 0x0C |
| | | #define LORA_NRST 0x0D |
| | | #define SOS_ENBALE 0x0E |
| | | #define WK_UP 0x0F |
| | | #define BT_EN 0x10 |
| | | |
| | | |
| | | |
| | | |
| | | //输入寄存器INT判断数组对应位置 |
| | | //input 0组 |
| | | #define MCU_A_POSITION (1<<(MAX_GPIO_NUM-MCU_A)) |
| | | #define CHG_G_POSITION (1<<(MAX_GPIO_NUM-CHG_G)) |
| | | #define PWR_GND_POSITION (1<<(MAX_GPIO_NUM-PWR_GND)) |
| | | #define IN_5V_POSITION (1<<(MAX_GPIO_NUM-IN_5V)) |
| | | #define CHGN_POSITION (1<<(MAX_GPIO_NUM-CHGN)) |
| | | #define MOTO_POSITION (1<<(MAX_GPIO_NUM-MOTO)) |
| | | #define BT_IRQ_POSITION (1<<(MAX_GPIO_NUM-BT_IRQ)) |
| | | #define RED_LED_POSITION (1<<(MAX_GPIO_NUM-RED_LED)) |
| | | #define GREEN_LED_POSITION (1<<(MAX_GPIO_NUM-GREEN_LED)) |
| | | #define BT_LED_POSITION (1<<(MAX_GPIO_NUM-BT_LED)) |
| | | //input 1组 |
| | | #define LORA_LED_POSITION (1<<(MAX_GPIO_NUM-LORA_LED)) |
| | | #define UWB_LED_POSITION (1<<(MAX_GPIO_NUM-UWB_LED)) |
| | | #define IO_KONG_POSITION (1<<(MAX_GPIO_NUM-IO_KONG)) |
| | | #define LORA_IRQ_POSITION (1<<(MAX_GPIO_NUM-LORA_IRQ)) |
| | | #define LORA_NRST_POSITION (1<<(MAX_GPIO_NUM-LORA_NRST)) |
| | | #define ADC_MINIUS_POSITION (1<<(MAX_GPIO_NUM-ADC_MINIUS)) |
| | | #define INPUT_5V_POSITION (1<<(MAX_GPIO_NUM-INPUT_5V)) |
| | | #define PWR_ON_POSITION (1<<(MAX_GPIO_NUM-PWR_ON)) |
| | | #define PWR_ENABLE_POSITION (1<<(MAX_GPIO_NUM-PWR_ENABLE)) |
| | | //input 1组 |
| | | #define GPS_LED_POSITION (1<<(MAX_GPIO_NUM-GPS_LED)) |
| | | #define TTS_ENABLE_POSITION (1<<(MAX_GPIO_NUM-TTS_ENABLE)) |
| | | #define WAKE_UP_POSITION (1<<(MAX_GPIO_NUM-WAKE_UP)) |
| | | #define AIR780E_ENBALE_POSITION (1<<(MAX_GPIO_NUM-AIR780E_ENBALE)) |
| | | #define SOS_ENBALE_POSITION (1<<(MAX_GPIO_NUM-SOS_ENBALE)) |
| | | #define GPS_BACKUP_POSITION (1<<(MAX_GPIO_NUM-GPS_BACKUP)) |
| | | #define GPS_POWER_POSITION (1<<(MAX_GPIO_NUM-GPS_POWER)) |
| | | #define MAIN_RI_POSITION (1<<(MAX_GPIO_NUM-MAIN_RI)) |
| | | #define WK_UP_POSITION (1<<(MAX_GPIO_NUM-WK_UP)) |
| | | #define BT_EN_POSITION (1<<(MAX_GPIO_NUM-BT_EN)) |
| | | |
| | | #define LORA_LED_ON PCA9555_Set_One_Value_Output(LORA_LED,1) |
| | | #define LORA_LED_OFF PCA9555_Set_One_Value_Output(LORA_LED,0) |
| | | |
| | | #define UWB_LED_ON PCA9555_Set_One_Value_Output(UWB_LED,1) |
| | | #define UWB_LED_OFF PCA9555_Set_One_Value_Output(UWB_LED,0) |
| | | |
| | | #define RED_LED_ON PCA9555_Set_One_Value_Output(RED_LED,1) |
| | | #define RED_LED_OFF PCA9555_Set_One_Value_Output(RED_LED,0) |
| | | |
| | | #define GREEN_LED_ON PCA9555_Set_One_Value_Output(GREEN_LED,1) |
| | | #define GREEN_LED_OFF PCA9555_Set_One_Value_Output(GREEN_LED,0) |
| | | |
| | | #define BT_LED_ON PCA9555_Set_One_Value_Output(BT_LED,1) |
| | | #define BT_LED_OFF PCA9555_Set_One_Value_Output(BT_LED,0) |
| | | |
| | | #define MOTO_ON PCA9555_Set_One_Value_Output(MOTO,1) |
| | | #define MOTO_OFF PCA9555_Set_One_Value_Output(MOTO,0) |
| | | |
| | | #define LORA_NRST_UP PCA9555_Set_One_Value_Output(LORA_NRST,1) |
| | | #define LORA_NRST_DOWN PCA9555_Set_One_Value_Output(LORA_NRST,0) |
| | | //uint8_t gps_led_output_state,tts_enbale_output_state,wake_up_output_state,air780e_enable_output_state,sos_enable_output_state,gps_backup_output_state,gps_power_output_state,main_ri_output_state;//1组output IO口从左到右1.0~1.7 |
| | | //uint8_t mcu_a_output_state,chg_g_output_state,lora_irq_output_state,lora_nrst_output_state,adc_minius_output_state,input_5v_output_state,pwr_on_output_state,pwr_enable_output_state;//2组output IO口从左到右0.0~0.7 |
| | | void IIC_gpio_pca_init(void); |
| | | //void IIC_gpio_pca_init(void); |
| | | void IIC2_pca_Start(void); |
| | | void IIC_pca_Ready(void); |
| | | void IIC2_pca_Stop(void); |
| | |
| | | void PCA9555_Set_One_Value_Config(unsigned char num,unsigned char value); |
| | | void PCA9555_Set_One_Value_Polarity_input(unsigned char num,unsigned char value); |
| | | void PCA9555_init(); |
| | | //拓展函数 |
| | | int read_userkey_input_pca_lora(); |
| | | static void pca_input_detect_irq_handler(enum IO_PIN_T pin); |
| | | static void pca_handler(enum IO_PIN_T pin); |
| | | void pca_input_detection_init(GPIO_IRQ_HANDLER_T irq_handler); |