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