From 57b984b8395bb30b2d170369c75f19722502b104 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期一, 21 四月 2025 16:38:37 +0800
Subject: [PATCH] 新增加速度计步数检测功能,3s发一次数据和停止30秒1分钟发一次数据

---
 keil/include/drivers/PCA9555.c |   37 ++++++++++++++++++++++++++++---------
 1 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/keil/include/drivers/PCA9555.c b/keil/include/drivers/PCA9555.c
index 6b167e5..ede8444 100644
--- a/keil/include/drivers/PCA9555.c
+++ b/keil/include/drivers/PCA9555.c
@@ -79,7 +79,7 @@
     uint8_t ucErrTime=0;
 //  IIC2_SDA_IN();  
  
-	gpio_pin_set_dir(SDA_PIN,GPIO_DIR_IN,1); //SDA设置为输入等待接收端的应答信号
+	gpio_pin_set_dir(SDA_PIN,GPIO_DIR_IN,0); //SDA设置为输入等待接收端的应答信号
 	 SDA_1;
 	delay_us(6);
 	SCL_1;
@@ -107,7 +107,7 @@
 void IIC2_pca_send_Ack(void)
 {
     SCL_0;
-    SDA_0;//读取SDA电平为低则有应答
+///    SDA_0;//读取SDA电平为低则有应答
     delay_us(10);
     SCL_1;
 		delay_us(10);
@@ -530,7 +530,8 @@
 	  PCA9555_Set_One_Value_Config(GREEN_LED,0);   //设置GREEN_LED为输出
 	  //管脚
 	  PCA9555_Set_One_Value_Config(LORA_NRST,0);	//设置LORA_NRST为输出
-	  PCA9555_Set_One_Value_Config(BT_EN,0);			//设置BT_EN为输出	
+	  PCA9555_Set_One_Value_Config(BT_EN,0);			//设置BT_EN为输出
+		PCA9555_Set_One_Value_Output(BT_EN,0);	
 	  PCA9555_Set_One_Value_Config(MOTO,0);       //设置MOTO为输出
 	
 		//PCA9555_Set_One_Value_Config(LORA_IRQ,1);		//设置LORAIRQ为输入
@@ -597,11 +598,25 @@
 
 }
 uint8_t LORA_IRQ_flag=0;
-uint8_t SOS_KEY_STATE;
+uint8_t SOS_KEY_STATE=0;
+extern uint16_t uwb_time_count;
 void SOS_irq_callback()
 {
-	SOS_KEY_STATE=1;
-	
+	SOS_KEY_STATE=!SOS_KEY_STATE;
+	if(SOS_KEY_STATE)
+	{
+	GREEN_LED_ON;
+//	onemin_onesecond_flag=1;
+//	uwb_time_count=0;
+//	CloseUWB();
+	}
+	else
+	{
+//	onemin_onesecond_flag=0;
+	GREEN_LED_OFF;
+//	uwb_time_count=0;
+//	CloseUWB();
+	}
 
 }
 //void WAKE_UP_irq_callback()
@@ -610,8 +625,10 @@
 //}
 void move_handler()
 {
-    nomove_count=0;	  
+    nomove_count=0;	 	
+		
 }
+
 void check_input_change(void)
 {
         uint16_t gpio_state;
@@ -626,11 +643,13 @@
 				}
 			  if(WK_UP_POSITION&gpio_state)
 				{
+				 //移动
          move_handler();
 				}
 
-        //uart_change_check(gpio_state);
 }
+
+
 
 
 //static void pca_input_detect_irq_handler(enum IO_PIN_T pin)
@@ -645,7 +664,7 @@
         gpio_pin_set_dir(PCA_INPUT_DETECT , GPIO_DIR_IN, 0);
         io_pull_set(PCA_INPUT_DETECT, IO_PULL_UP, IO_PULL_UP_LEVEL2);
         gpio_enable_irq(PCA_INPUT_DETECT, GPIO_IRQ_TYPE_FALLING_EDGE, irq_handler);
-        power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)PCA_INPUT_DETECT, POWER_WAKEUP_LEVEL_LOW);
+//        power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)PCA_INPUT_DETECT, POWER_WAKEUP_LEVEL_LOW);
 }
 
 

--
Gitblit v1.9.3