From 5a577b9f27adb2e9fc23f3776153999e18c97e9a Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期一, 31 三月 2025 13:39:07 +0800 Subject: [PATCH] 1.33,加入1s一次跟3s一次 通过勾选modbus模式来区别 不勾选是1s一次 --- Src/main.c | 133 ++++++++++++++++++++++++++++++------------- 1 files changed, 92 insertions(+), 41 deletions(-) diff --git a/Src/main.c b/Src/main.c index 3ead772..18f246f 100644 --- a/Src/main.c +++ b/Src/main.c @@ -219,7 +219,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)|29; + g_com_map[VERSION] = (1<<8)|33; // g_com_map[DEV_ID]=1158; g_com_map[GROUP_ID]=3; // g_com_map[COM_INTERVAL] = 1000; @@ -475,6 +475,8 @@ uint8_t uwb_kaiguanrx_falg; extern uint8_t uwbrxflag; uint8_t dwt_entersleep_flag; +extern u8 lora_jianting_flag; +uint8_t lora_busy_flag; /* USER CODE END 0 */ /** @@ -577,17 +579,40 @@ HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); } } - - if(uwb_kaiguanrx_falg==1) - { - MbxTagUwbRec(); -// uwb_kaiguanrx_falg=0; -// UWB_RXON(); - } - if(uwb_kaiguanrx_falg==2&&dwt_entersleep_flag==0) + if(g_com_map[MODBUS_MODE]) { - dwt_entersleep(); - dwt_entersleep_flag=1; + if(uwb_kaiguanrx_falg==1) + { + MbxTagUwbRec(); + // uwb_kaiguanrx_falg=0; + // UWB_RXON(); + } + if(uwb_kaiguanrx_falg==2&&dwt_entersleep_flag==0) + { + dwt_entersleep(); + dwt_entersleep_flag=1; + } + } + else + { + if(lora_jianting_flag&&lora_busy_flag==0) + { + HAL_GPIO_WritePin(RADIO_NSS_GPIO_Port, RADIO_NSS_Pin, GPIO_PIN_SET); + HAL_GPIO_WritePin(SPIx_CS_GPIO, SPIx_CS, GPIO_PIN_RESET); + SPIx_CS_GPIO->BRR = SPIx_CS; + MbxTagUwbRec(); + dwt_entersleep_flag=0; + HAL_GPIO_WritePin(RADIO_NSS_GPIO_Port, RADIO_NSS_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(SPIx_CS_GPIO, SPIx_CS, GPIO_PIN_SET); + } + else + { + if(dwt_entersleep_flag==0) + { + dwt_entersleep(); + dwt_entersleep_flag=1; + } + } } OneSecondTask(); IdleTask(); @@ -596,6 +621,7 @@ Lora_Send_Poll(); // } LoraUp_Poll(); + //#ifndef DEBUG_MODE // if(beep_flag==0&&uwbrxflag!=1) // { @@ -1112,7 +1138,6 @@ extern uint16_t tagdist_list[ANC_MAX_NUM]; extern uint8_t Lora_send_flag; uint8_t Lora_send_time; -extern u8 lora_jianting_flag; uint16_t test1; void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim) { @@ -1160,38 +1185,64 @@ { Lora_send_time++; flag_onesecond = 1; - if(lora_jianting_flag) - { - if(Lora_send_time%3==1) - { -// UWB_RXON(); - uwb_kaiguanrx_falg=1; - } - if(Lora_send_time%3==2) - { -// UWB_RXOFF(); - - uwb_kaiguanrx_falg=2; - dwt_entersleep_flag=0; -// dwt_configuresleep(DWT_PRESRV_SLEEP | DWT_CONFIG, DWT_WAKE_CS | DWT_WAKE_WK| DWT_SLP_EN); -// test1++; -// delay_ms(100); -// dwt_entersleep(); - } + if(g_com_map[MODBUS_MODE]) + { + if(lora_jianting_flag) + { + if(Lora_send_time%3==1) + { + // UWB_RXON(); + uwb_kaiguanrx_falg=1; + } + if(Lora_send_time%3==2) + { + // UWB_RXOFF(); + + uwb_kaiguanrx_falg=2; + dwt_entersleep_flag=0; + // dwt_configuresleep(DWT_PRESRV_SLEEP | DWT_CONFIG, DWT_WAKE_CS | DWT_WAKE_WK| DWT_SLP_EN); + // test1++; + // delay_ms(100); + // dwt_entersleep(); + } + } + else + { + if(uwb_kaiguanrx_falg!=0) + { + // uwb_kaiguanrx_falg=0; + uwb_kaiguanrx_falg=2; + dwt_entersleep_flag=0; + } + } + if(Lora_send_time%3==0) + { + Lora_send_flag=1; + uwb_kaiguanrx_falg=0; + } } else { - if(uwb_kaiguanrx_falg!=0) - { - uwb_kaiguanrx_falg=0; - uwb_kaiguanrx_falg=2; - dwt_entersleep_flag=0; - } - } - if(Lora_send_time%3==0) - { - Lora_send_flag=1; - uwb_kaiguanrx_falg=0; +// if(lora_jianting_flag) +// { +// if(dwt_entersleep_flag) +// { +// +// } +// } +// else +// { +// if(dwt_entersleep_flag!=1) +// { +// dwt_entersleep(); +// dwt_entersleep_flag=1; +// } +// } +// if(Lora_send_time%3==0) +// { + Lora_send_flag=1; +// uwb_kaiguanrx_falg=0; +// } } #ifndef DEBUG_MODE -- Gitblit v1.9.3