From 84649c69381018c8cba0657922c5bed4ddfaf0f7 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期五, 17 五月 2024 15:35:46 +0800 Subject: [PATCH] V2.28 改成收1秒 等3秒,中间会多次发lora --- Src/main.c | 48 +++++++++++++++++++++++++++++++++++------------- 1 files changed, 35 insertions(+), 13 deletions(-) diff --git a/Src/main.c b/Src/main.c index 1e080a8..1cc836a 100644 --- a/Src/main.c +++ b/Src/main.c @@ -222,6 +222,7 @@ HAL_UART_DMAStop(&hlpuart1); // 停止DMA传输,防止 while(HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin)) { + HAL_IWDG_Refresh(&hiwdg); UART_CheckReceive(); UART_CheckSend(); nomove_count = 0; @@ -314,7 +315,7 @@ hardware_pici = STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+2); hardware_type = STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+4); //deca_sleep(1000); - g_com_map[VERSION] = (1<<8)|23; + g_com_map[VERSION] = (1<<8)|28; // g_com_map[DEV_ID]=1158; // #ifdef DEBUG_MODE // // g_com_map[GROUP_ID]=21; @@ -449,7 +450,8 @@ // SystemClock_Config(); // irq_num++; lora_irq_flag = 1; - // RadioIrqProcess(); + if(shengji_flag) + RadioIrqProcess(); } if(GPIO_Pin == GPIO_PIN_1)//按键 { @@ -618,19 +620,20 @@ uint8_t debugnum; uint8_t Lora_send_flag; extern uint8_t rec_secdelay; +extern u16 uwb_rx_remaintime_ms; void Lora_Send_Poll(void) { - if(Lora_send_flag) + if(Lora_send_flag&&uwb_rx_remaintime_ms==0) { debugnum++; Lora_send_flag=0; - if(rec_secdelay>0) - { - loraled=YELLOW; - rec_secdelay--; - return; - } +// if(rec_secdelay>0) +// { +// loraled=YELLOW; +// rec_secdelay--; +// return; +// } loraled=BLUE; LoraReportPoll(); flag_onesecond = 1; @@ -699,7 +702,7 @@ delay_ms(10); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); //开uwb电源 Program_Init(); - MX_IWDG_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 + // MX_IWDG_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 #ifdef _USE_BAR //BarInit(); #endif @@ -1357,6 +1360,9 @@ } #define NOGPS_RESET_TIME 300 u8 state_count = 0; +extern u8 lora_jianting_flag,seq_num; +extern u32 wg_lost_count; +extern u16 uwb_rx_remaintime_ms; void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim) { if(chongqi_flag==0&&shengji_flag==0) @@ -1376,18 +1382,34 @@ {HAL_NVIC_SystemReset();} } Yuying_Poll(); - state_count++; switch(state_count) { case 0: - + state_count = 1; + if(lora_jianting_flag) + { + uwb_rx_remaintime_ms = 990; + UWB_RXStart(0); + }else{ + seq_num--; + Lora_send_flag=1; + } break; case 1: + if(wg_lost_count>0) + { + seq_num--; + Lora_send_flag=1; + } + state_count = 2; break; case 2: + Lora_send_flag=1; + state_count = 0; break; + default: + state_count = 0; } - Lora_send_flag=1; if(nomove_count++>g_com_map[STATIONARY_TIME]) { stationary_flag = 1; -- Gitblit v1.9.3