From cc919e4e5e2395b61b86f922a07440f47ae2ad0a Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期一, 24 二月 2025 15:25:16 +0800
Subject: [PATCH] 开发差不多完成,等新板子来了测一下充电跟休眠那块的逻辑。目前4g跟gps上传那块跟urtf4的差不多。

---
 keil/include/drivers/PCA9555.h |   53 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/keil/include/drivers/PCA9555.h b/keil/include/drivers/PCA9555.h
index 2205304..e0e9b1a 100644
--- a/keil/include/drivers/PCA9555.h
+++ b/keil/include/drivers/PCA9555.h
@@ -13,8 +13,52 @@
 #define  PCA9555_REG_CFG0        0x06                        //  定义方向配置寄存器0地址    
 #define  PCA9555_REG_CFG1        0x07                        //  定义方向配置寄存器1地址      
 #define  PCA9555_DEVICE_ADDR     0x40                        //  定义PCA9555地址 
-#define SDA_0 gpio_pin_clr(SDA_PIN)
-#define SCL_0	gpio_pin_clr(SCL_PIN)
+#define  PCA_OUTPUT_CONFIG_MASK 0x00
+#define  PCA_INPUT_CONFIG_MASK 0xff
+#define  SDA_0 gpio_pin_clr(SDA_PIN)
+#define  SCL_0 gpio_pin_clr(SCL_PIN)
+
+#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 LED_POWER 	 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
+
+//输入寄存器INT判断数组对应位置
+//input 0组
+#define MCU_A_POSITION  (1<<(MAX_GPIO_NUM-MCU_A))
+#define CHG_G_POSITION  (1<<(MAX_GPIO_NUM-CHG_G))
+#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-LED_POWER))
+#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))
+//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 IIC2_pca_Start(void);
 void IIC_pca_Ready(void);
@@ -31,5 +75,6 @@
 void PCA9555_readdata(unsigned char addr,unsigned char* pBuffer);
 void PCA9555_Set_All_Output(unsigned char value);
 void PCA9555_Set_One_Value_Output(unsigned char num,unsigned char value);
-void PCA9555_Set_One_Value_Config(unsigned char num,unsigned char value) ;
-void PCA9555_init();
\ No newline at end of file
+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();

--
Gitblit v1.9.3