chen
2024-12-11 ac55307242da6846c2b8fe4b710fb90feaa30978
keil/include/drivers/PCA9555.c
@@ -154,7 +154,7 @@
//读1个字节,ack=1时,发送ACK,ack=0,发送nACK,不是一样的
uint8_t IIC2_Read_pca_Byte(unsigned char ack)
{
    unsigned char i,receive=0;
    unsigned char i,receive=0,bit=0;
      gpio_pin_set_dir(SDA_PIN,GPIO_DIR_IN,0); //设置为输入读取电平
//      io_pull_set(SDA_PIN , IO_HIGH_Z, IO_PULL_UP_NONE);
    for(i=0; i<8; i++ )
@@ -162,8 +162,11 @@
        SCL_0;
        delay_us(6);//修改时间
        SCL_1;
        receive<<=1;
        if(IIC2_READ_SDA)receive++;
        //receive<<=1;
        if(IIC2_READ_SDA){
               bit=1<<i;
               receive|=bit;
            }
        delay_us(5);
    }
      SCL_0;
@@ -435,11 +438,11 @@
{
//IIC_gpio_pca_init();//配置IIC管脚
   
   PCA9555_write_config_port_data(PCA9555_DEVICE_ADDR,PCA_OUTPUT_CONFIG_MASK,PCA_OUTPUT_CONFIG_MASK);//全配置为输出
   //PCA9555_write_config_port_data(PCA9555_DEVICE_ADDR,PCA_OUTPUT_CONFIG_MASK,PCA_OUTPUT_CONFIG_MASK);//全配置为输出
   
   //PCA9555_write_config_port_data(PCA9555_DEVICE_ADDR,PCA_INPUT_CONFIG_MASK,PCA_INPUT_CONFIG_MASK);//全配置为输入
   PCA9555_write_config_port_data(PCA9555_DEVICE_ADDR,PCA_INPUT_CONFIG_MASK,PCA_INPUT_CONFIG_MASK);//全配置为输入
   //PCA9555_write_polarity_port_data(PCA9555_DEVICE_ADDR,0x00,0x00);//翻转
   PCA9555_Set_One_Value_Config(WAKE_UP,1);
   //PCA9555_Set_One_Value_Config(WAKE_UP,1);
   //PCA9555_Set_All_Output(1);
   
   //PCA9555_readdata_from_output_register(PCA9555_DEVICE_ADDR,pca9555writedata_input);
@@ -448,7 +451,7 @@
//   PCA9555_Set_All_Output(0);
   //PCA9555_readdata_from_polarity_register(PCA9555_DEVICE_ADDR,pca9555writedata_input);
   PCA9555_readdata(PCA9555_DEVICE_ADDR,pca9555writedata_input);//读输入寄存器的值
   PCA9555_readdata_from_config_register(PCA9555_DEVICE_ADDR,pca9555writedata_config);
   //PCA9555_readdata_from_config_register(PCA9555_DEVICE_ADDR,pca9555writedata_config);
//   PCA9555_Set_All_Output(0);//全部拉低
   
   //测试