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