From 891a65ef76618a265c4254e45c1928d9c241a7ce Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期一, 26 八月 2024 09:39:00 +0800 Subject: [PATCH] 加入gps工作流程,马达震动流程 --- keil/include/drivers/lis3dh_driver.c | 18 ++++++++++-------- 1 files changed, 10 insertions(+), 8 deletions(-) diff --git a/keil/include/drivers/lis3dh_driver.c b/keil/include/drivers/lis3dh_driver.c index a37bea5..ee97e29 100644 --- a/keil/include/drivers/lis3dh_driver.c +++ b/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}; @@ -197,14 +198,12 @@ io_pin_mux_set(SCL_PIN, IO_FUNC0); 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_open_drain_set(SDA_PIN, 1); + io_pull_set(SDA_PIN , IO_PULL_UP, IO_PULL_UP_LEVEL2);//输出高阻态 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_open_drain_set(SCL_PIN, 1);//设置开漏输出 + io_pull_set(SCL_PIN , IO_HIGH_Z, IO_PULL_UP_NONE); } uint8_t lisid; @@ -284,7 +283,7 @@ LIS3DH_WriteReg(LIS3DH_INT1_CFG, 0xaa); /* INT1_CFG(30h): ??,6D X/Y/Z???????? */ g_com_map[IMU_THRES]=2; LIS3DH_WriteReg(LIS3DH_INT1_THS, (uint8_t)g_com_map[IMU_THRES]); /* INT1_THS(32h): ?????? 0x10: 16*2(FS) 0x20: 32*16(FS) */ - LIS3DH_WriteReg(LIS3DH_INT1_DURATION, 0x01); /* INT1_DURATION(33h): 1LSB=1/ODR ??ODR=100HZ ??1LSB=10ms ???? 1s,??100->0x64 */ + LIS3DH_WriteReg(LIS3DH_INT1_DURATION, 0x01); /* INT1_DURATION(33h): 1LSB=1/ODR ??ODR=100HZ ??1LSB=10ms ???? 1s,??100->0x64 */ /* Start sensor */ LIS3DH_WriteReg(0x20, 0x5f); /* CTRL_REG1(20h): Start sensor at ODR 100Hz Low-power mode */ @@ -516,15 +515,17 @@ //等待应答信号到来 //返回值: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; delay_us(6); - + while(IIC2_READ_SDA) { ucErrTime++; @@ -534,6 +535,7 @@ return 1; } } + gpio_pin_set_dir(SDA_PIN , GPIO_DIR_OUT, 1); SCL_0;//时钟输出0 return 0; } -- Gitblit v1.9.3