From 36336123917b1442954faaa78bd6647f99501af2 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期日, 29 六月 2025 18:02:58 +0800
Subject: [PATCH] 将剩下2个模式休眠模式改为成功休眠的代码,并实测可以成功休眠MK和lora休眠功耗17ua左右

---
 keil/include/src/Radio/lora_1268.c |   50 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 34 insertions(+), 16 deletions(-)

diff --git a/keil/include/src/Radio/lora_1268.c b/keil/include/src/Radio/lora_1268.c
index e3c848a..1a5759c 100644
--- a/keil/include/src/Radio/lora_1268.c
+++ b/keil/include/src/Radio/lora_1268.c
@@ -364,13 +364,28 @@
 {
 				 //SPI0/MOSI/MISO/CLK/CS
 //	gpio_pin_set(LORA_CS);
+	
+//	io_pin_mux_set(LORA_CS, IO_FUNC0);
+//	io_pin_mux_set(LORA_MOSI, IO_FUNC2);
+//	io_pin_mux_set(LORA_MISO, IO_FUNC2);
+//	io_pin_mux_set(LORA_CLK, IO_FUNC2);
+//	io_pin_mux_set(LORA_IRQ, IO_FUNC0);
+//	io_pin_mux_set(LORA_NRST, IO_FUNC0);
+
+//	io_pin_mux_set(LORA_MOSI, IO_FUNC0);
+//	io_pin_mux_set(LORA_MISO, IO_FUNC0);
+//	io_pin_mux_set(LORA_CLK, IO_FUNC0);
+//	//io_pull_set(LORA_IRQ, IO_PULL_UP, IO_PULL_UP_LEVEL4);
+//	io_pull_set(LORA_MOSI, IO_PULL_UP, IO_PULL_UP_LEVEL4);//功耗有影响
+//	io_pull_set(LORA_CLK, IO_PULL_UP, IO_PULL_UP_LEVEL4);//功耗有影响
+//	
+//	gpio_pin_set_dir(LORA_MOSI,GPIO_DIR_OUT,0);
+//	gpio_pin_set_dir(LORA_MISO,GPIO_DIR_OUT,0);
+//	gpio_pin_set_dir(LORA_CLK,GPIO_DIR_OUT,0);
 //	gpio_pin_clr(LORA_MOSI);
-//	gpio_pin_clr(LORA_MISO);
 //	gpio_pin_clr(LORA_CLK);
-//	gpio_pin_clr(LORA_IRQ);
-	//gpio_pin_clr(LORA_NRST);
-	//gpio_pin_clr(LORA_NRST);//lora休眠
-	 Radio.Standby();
+
+	
     Radio.Sleep();
 }
 ////States_t State = LOWPOWER;
@@ -396,8 +411,9 @@
 		
     if(flag_writepara_needreset) //配置写入完成设备需要重启
     {
-        printf("网关下发配置写入完成,重启");
-        SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader   
+        LOG_INFO(TRACE_MODULE_APP,"网关下发配置写入完成,重启\r\n");
+//        SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader   
+			sys_reset(0);
     }
     Radio.Standby();
     if(LoraUp_flag)
@@ -445,6 +461,7 @@
 uint8_t rxdone=0;
 extern uint16_t set_mk_time;
 extern mk_send_message_to_BLE(void);
+uint8_t tt4=1;
 void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
 {  
 				uint16_t checksum1;
@@ -522,6 +539,7 @@
 															LoraSendComMap(WGRSP_RWTAG_READ);
 															break;
 												case WGRSP_RWTAG_WRITE:
+
 														rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX];
 													switch(rec_index)
 															{
@@ -534,18 +552,17 @@
                         default :
                             memcpy(&rec_value,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2);
                             g_com_map[rec_index/2] = rec_value;
-//														if(rec_index/2==POWER)//新增判断
-//														{
-//														 memcpy(&set_mk_time,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2);
-//															//mk_send_message_to_BLE();	//发送给蓝牙
-//															//LOG_INFO(TRACE_MODULE_APP, "修改成功g_com表为%#x,时间为%#x\r\n",g_com_map[POWER],set_mk_time);
-//														}
-                           // save_com_map_to_flash();
+														if(rec_index/2==POWER)//新增判断
+														{
+														 memcpy(&set_mk_time,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2);
+															mk_send_message_to_BLE();	//发送给蓝牙
+															//LOG_INFO(TRACE_MODULE_APP, "修改成功g_com表为%#x,时间为%#x\r\n",g_com_map[POWER],set_mk_time);
+														}
+                            save_com_map_to_flash();
                             LoraRspWriteCommap(SUBMSG_WRITE_ANCPARA);
                             flag_writepara_needreset = 1;
                             no_rx_flag = 1;                           
 															}
-
 															break; 
 												case WGRSP_RWTAG_UPDATE:
 												rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX];
@@ -571,7 +588,7 @@
 								}
 
 							}
-LOG_INFO(TRACE_MODULE_APP, "进入回复2\r\n");						
+			
     if(!no_rx_flag)
     {
         if(lora_jianting_flag&&LoraUp_flag==0)
@@ -580,6 +597,7 @@
             Radio.Rx(0);
         }
     }
+		
 }
 
 void OnTxTimeout( void )

--
Gitblit v1.9.3