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();
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();