yincheng.zhong
2024-08-21 903a245a364052d5ba612e3e53b685fca26a09d4
keil/include/drivers/lis3dh_driver.c
@@ -181,6 +181,7 @@
AxesRaw_t lis2dhdata;
//OLED初始化IIC
uint8_t t11;
void IIC2_Init(void)
{                    
//   GPIO_InitTypeDef GPIO_InitStructure= {0};
@@ -198,13 +199,11 @@
      
      gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1);
      io_open_drain_set(SDA_PIN, 1);
    io_pull_set(SDA_PIN , IO_PULL_UP, IO_PULL_UP_NONE);//输出高阻态
        io_pull_set(SDA_PIN , IO_HIGH_Z, IO_PULL_UP_NONE);//输出高阻态
      
      gpio_pin_set_dir(SCL_PIN , GPIO_DIR_OUT, 1);
      io_open_drain_set(SCL_PIN, 1);//设置开漏输出
    io_pull_set(SCL_PIN , IO_PULL_UP, IO_PULL_UP_NONE);
        io_pull_set(SCL_PIN , IO_HIGH_Z, IO_PULL_UP_NONE);
}
uint8_t lisid;
@@ -516,10 +515,12 @@
//等待应答信号到来
//返回值:1,接收应答失败
//        0,接收应答成功
uint8_t IIC2_Wait_Ack(void)
{
   uint8_t ucErrTime=0;
//  IIC2_SDA_IN();      //SDA设置为输入
 gpio_pin_set_dir(SDA_PIN , GPIO_DIR_IN, 1);
    SDA_1;
   delay_us(6);      
   SCL_1;
@@ -534,6 +535,7 @@
         return 1;
      }
   }
    gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1);
   SCL_0;//时钟输出0
   return 0;