From e328ebef585cea2351b37117b2d5ac4978ecd3c0 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期二, 11 二月 2025 14:57:23 +0800
Subject: [PATCH] 1111111

---
 keil/include/drivers/PCA9555.h |  114 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 83 insertions(+), 31 deletions(-)

diff --git a/keil/include/drivers/PCA9555.h b/keil/include/drivers/PCA9555.h
index 3638272..c15224a 100644
--- a/keil/include/drivers/PCA9555.h
+++ b/keil/include/drivers/PCA9555.h
@@ -17,49 +17,96 @@
 #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);
@@ -78,3 +125,8 @@
 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);
\ No newline at end of file

--
Gitblit v1.9.3