From 00fc23c0b2c7b7dfd6df3e9fb9e385ec949cd8cc Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期五, 08 九月 2023 11:31:10 +0800 Subject: [PATCH] lora发30次,先提交一下,方便测试 --- FML/lora.c | 80 +++++++++++++++++++++------------------ 1 files changed, 43 insertions(+), 37 deletions(-) diff --git a/FML/lora.c b/FML/lora.c index d718f8c..26ed0ef 100644 --- a/FML/lora.c +++ b/FML/lora.c @@ -266,6 +266,7 @@ *******************************************************************************/ extern void delay_ms(uint32_t nTimer) ; extern uint8_t lora_sendfinal_rx_bag_flag; +uint8_t flag_lorainit=1; void Lora_Poll(void) { HIDO_UINT8 u8Byte = 0; @@ -275,47 +276,52 @@ { Lora_RecvByte(u8Byte); lora_rxbuf[lora_rxbufnum++]=u8Byte; - if(lora_rxbuf[lora_rxbufnum-1]==0xAA) + if(lora_rxbuf[0]==0x55&&lora_rxbuf[1]==0xAA&&lora_rxbuf[9]==0x55&&lora_rxbuf[10]==0xAA) { - if(lora_rxbuf[lora_rxbufnum-2]==0x55) - { - memset(&lora_rxbuf,0,sizeof(lora_rxbuf)); - lora_rxbufnum=0; - } + memcpy(&lora_recv_devid,&lora_rxbuf[4],2); + if(lora_recv_devid==dev_id) + { + if(lora_rxbuf[6]==0x01&&lora_rxbuf[7]==0x01&&lora_rxbuf[8]==0x00)//接收GPS回复的OK + { + lora_sendfinalbag_flag=0; + lora_sendfinal_rx_bag_flag=0; + HIDO_Debug("收到GPS的OK\r\n"); + memset(&lora_rxbuf,0,sizeof(lora_rxbuf)); + lora_rxbufnum=0; + } + if(lora_rxbuf[6]==0x02)//接收下发修改GPS开关时间参数 + { + memcpy(&lora_recv_gpstime,&lora_rxbuf[7],2); + if(lora_recv_gpstime<=1800) + lora_recv_gpstime=1800; + g_com_map[GPS_ONTIME]=lora_recv_gpstime; + save_com_map_to_flash(); + HIDO_Debug("收到修改GPS开关时间:%d\r\n",lora_recv_gpstime); + delay_ms(100); + NVIC_SystemReset(); + } + if(lora_rxbuf[6]==0x03)//接收下发修改静止休眠时间参数 + { + memcpy(&lora_recv_gpstime,&lora_rxbuf[7],2); + if(lora_recv_gpstime<=10) + lora_recv_gpstime=10; + g_com_map[NOMOVESLEEP_TIME]=lora_recv_gpstime; + save_com_map_to_flash(); + HIDO_Debug("收到修改静止休眠时间:%d\r\n",lora_recv_gpstime); + delay_ms(100); + NVIC_SystemReset(); + } + } + } - memcpy(&lora_recv_devid,&lora_rxbuf[2],2); - if(lora_recv_devid==dev_id) - { - if(lora_rxbuf[4]==0x01&&lora_rxbuf[5]==0x00&&lora_rxbuf[6]==0x01)//接收GPS回复的OK - { - memset(&lora_rxbuf,0,sizeof(lora_rxbuf)); - lora_rxbufnum=0; - lora_sendfinalbag_flag=0; - lora_sendfinal_rx_bag_flag=0; - } - if(lora_rxbuf[4]==0x02)//接收下发修改GPS开关时间参数 - { - memcpy(&lora_recv_gpstime,&lora_rxbuf[5],2); - if(lora_recv_gpstime<=1800) - lora_recv_gpstime=1800; - g_com_map[GPS_ONTIME]=lora_recv_gpstime; - save_com_map_to_flash(); - delay_ms(100); - NVIC_SystemReset(); - } - if(lora_rxbuf[4]==0x03)//接收下发修改静止休眠时间参数 - { - memcpy(&lora_recv_gpstime,&lora_rxbuf[5],2); - if(lora_recv_gpstime<=10) - lora_recv_gpstime=10; - g_com_map[NOMOVESLEEP_TIME]=lora_recv_gpstime; - save_com_map_to_flash(); - delay_ms(100); - NVIC_SystemReset(); - } - } } + if(Lora_IsIdle() == HIDO_TRUE&&flag_lorainit) + { + memset(&lora_rxbuf,0,sizeof(lora_rxbuf)); + flag_lorainit=0; + lora_rxbufnum=0; + } } /******************************************************************************* -- Gitblit v1.9.3