From 1b4876fa8c75d9a0f3ffbfdc515a59a776f9dd65 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期五, 19 四月 2024 14:42:27 +0800 Subject: [PATCH] 增加数据上传秒延迟模式,增加远距离通道,测试网关通讯能力模式 --- Src/main.c | 54 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 34 insertions(+), 20 deletions(-) diff --git a/Src/main.c b/Src/main.c index 59f910e..3158932 100644 --- a/Src/main.c +++ b/Src/main.c @@ -125,7 +125,7 @@ uint8_t anjian_flag; uint8_t stationary_flag; uint16_t stationary_num; -uint8_t recv_end_time; +uint16_t recv_end_time; u16 GetLPTime(void) { u16 count=HAL_LPTIM_ReadCounter(&hlptim1); @@ -306,7 +306,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)|8; + g_com_map[VERSION] = (1<<8)|14; // g_com_map[DEV_ID]=1158; // #ifdef DEBUG_MODE // // g_com_map[GROUP_ID]=21; @@ -346,6 +346,10 @@ { g_com_map[COM_INTERVAL]=1000; } + if(g_com_map[LORA_POWER]>22) + { + g_com_map[LORA_POWER] = 22; + } if(module_power>67) {module_power=67;} if(module_power<0) @@ -592,16 +596,22 @@ uint8_t GPS_Close_flag=1; uint8_t debugnum; uint8_t Lora_send_flag; +extern uint8_t rec_secdelay; void Lora_Send_Poll(void) { - if(Lora_send_flag) - { - debugnum++; + if(rec_secdelay>0) + { + rec_secdelay--; + return; + } + if(Lora_send_flag) + { + debugnum++; Lora_send_flag=0; - loraled=BLUE; + loraled=BLUE; LoraReportPoll(); flag_onesecond = 1; - } + } } extern volatile uint16_t rx_len ; //接收一帧数据的长度 @@ -651,20 +661,21 @@ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ - MX_GPIO_Init(); - MX_DMA_Init(); - MX_ADC_Init(); -// MX_IWDG_Init(); - MX_LPTIM1_Init(); - MX_USART1_UART_Init(); - MX_SPI1_Init(); - MX_LPUART1_UART_Init(); - MX_USART5_UART_Init(); + MX_GPIO_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 + MX_DMA_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 + MX_ADC_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 + MX_LPTIM1_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 + MX_USART1_UART_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 + MX_SPI1_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 + MX_LPUART1_UART_Init();//看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 +// MX_IWDG_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 + MX_USART5_UART_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 /* USER CODE BEGIN 2 */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_SET); //开GPS电源 delay_ms(10); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); //开uwb电源 Program_Init(); + MX_IWDG_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。 #ifdef _USE_BAR //BarInit(); #endif @@ -704,10 +715,12 @@ if(gotosleep_flag==1) { Jingzhi_Poll(); +// HAL_IWDG_Refresh(&hiwdg); HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); } else { +// HAL_IWDG_Refresh(&hiwdg); Lpuart_rx_Poll(); OneSecondTask(); IdleTask(); @@ -1116,8 +1129,8 @@ /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13|GPIO_PIN_7|GPIO_PIN_8, GPIO_PIN_RESET); - - /*Configure GPIO pin Output Level */ + + /*Configure GPIO pin O__set_MSPutput Level */ HAL_GPIO_WritePin(GPIOC, RADIO_NSS_Pin|RADIO_nRESET_Pin|GPIO_PIN_4, GPIO_PIN_SET); /*Configure GPIO pin Output Level */ @@ -1272,6 +1285,7 @@ yuyin_no_sleep_flag=0; } } +#define NOGPS_RESET_TIME 300 void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim) { if(chongqi_flag==0&&shengji_flag==0) @@ -1284,8 +1298,8 @@ if(yuyin_no_sleep_flag==0) { recv_end_time++; -// if(recv_end_time>3) -// {HAL_NVIC_SystemReset();} + if(recv_end_time>NOGPS_RESET_TIME) + {HAL_NVIC_SystemReset();} } Yuying_Poll(); Lora_send_flag=1; -- Gitblit v1.9.3