From de542f653793306c903085bc3a1b590ce29caec8 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期四, 20 三月 2025 18:17:57 +0800 Subject: [PATCH] 时间同步BUG修复 --- keil/include/main/main.c | 61 ++++++++++++++++++++++-------- 1 files changed, 44 insertions(+), 17 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index e072e69..90a9681 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -275,7 +275,7 @@ MinuteTask(); } //UWB更新列表 - TagListUpdate(); +// TagListUpdate(); //GPS_Poll(); gps_power_state=1;//测试gps长开 //UWB状态检测 @@ -298,14 +298,19 @@ } HIDO_TimerTick(); - nomove_count++; + } +uint8_t stationary_flag; uint8_t flag_sleeptimer,flag_secondtask,secondtask_count; uint8_t lora_wg_up=0; extern uint8_t lora_tx_flag; static void sleep_timer_callback(void *dev, uint32_t time) { + + g_start_send_flag=1; +// HIDO_TimerGetTick(); + HIDO_TimerTick(); // #ifdef DEBUG_BOXING //// gpio_pin_clr(IO_PIN_5);//测试 // gpio_pin_set(IO_PIN_5);//测试 @@ -347,13 +352,25 @@ } //GPS工作逻辑 - + if(nomove_count++>g_com_map[STATIONARY_TIME]) + { + stationary_flag = 1; + } else + { + stationary_flag = 0; + } +// nomove_count++; + #ifdef DEBUG_BOXING +// gpio_pin_clr(BOXING_PIN);//测试 + gpio_pin_set(BOXING_PIN);//测试 + #endif + delay_us(1000); } -void phy_timer_callback(uint32_t time) -{ - lora_tx_flag++; -} +//void phy_timer_callback(uint32_t time) +//{ +// lora_tx_flag++; +//} void uart0_receive_callback() { @@ -380,9 +397,11 @@ Usart1ParseDataCallback = UsartParseDataHandler;//需改为默认为gps处理,UsartParseDataHandler为升级处理当调试时候改为 parameter_init_anchor();//g_com_map表初始化角色默认为基站 g_com_map[DEV_ID]=0x1234; + g_com_map[STATIONARY_TIME] = 10; // g_com_map[GROUP_ID]=1; dev_id=g_com_map[DEV_ID];//这里不太对 - group_id=g_com_map[GROUP_ID];//组ID +// group_id=g_com_map[GROUP_ID];//组ID + group_id=0x04; tag_frequency = 1000/g_com_map[COM_INTERVAL];//测距频率这个存的是测距时间 memcpy(&disoffset,&g_com_map[DIST_OFFSET],2); // g_com_map[ALARM_DISTANCE1] = 40; @@ -496,8 +515,8 @@ uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart0_receive_callback);//开启dma //串口1 - io_pin_mux_set(UART1_RX, IO_FUNC4); - io_pin_mux_set(UART1_TX, IO_FUNC4); +// io_pin_mux_set(UART1_RX, IO_FUNC4); +// io_pin_mux_set(UART1_TX, IO_FUNC4); } void spi_init() { @@ -586,17 +605,12 @@ RadioIrqProcess(); } - - - - - void Board_LORA_NVIC_Init(GPIO_IRQ_HANDLER_T irq_handler) //LORA 中断配置 { // io_pin_mux_set(_4G_USART_RX_Pin,IO_FUNC0);//把原先io 变为普通GPIO gpio_pin_set_dir(LORA_DIO , GPIO_DIR_IN, 0); io_pull_set(LORA_DIO, IO_HIGH_Z, IO_PULL_UP_NONE); - gpio_enable_irq(LORA_DIO, GPIO_IRQ_TYPE_RISING_EDGE, irq_handler); + gpio_enable_irq(LORA_DIO, GPIO_IRQ_TYPE_RISING_EDGE, irq_handler); } extern uint8_t pca9555writedata_input[10];//暂存输入寄存器所有配置的数组 static void pca_handler(enum IO_PIN_T pin) @@ -625,7 +639,10 @@ Board_gpio_init(); //board_led_init(); spi_init(); + + Board_LORA_NVIC_Init(Lora_irq_handler); + pca_input_detection_init(pca_handler); IIC2_Init(); Accelerometer_Init(); PCA9555_init(); @@ -636,11 +653,21 @@ sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback); sleep_timer_start(__MS_TO_32K_CNT(1000));//测试 - +#ifdef DEBUG_BOXING + io_pin_mux_set(BOXING_PIN,IO_FUNC0); + gpio_pin_set_dir(BOXING_PIN,GPIO_DIR_OUT,0); + io_pull_set(BOXING_PIN,IO_PULL_DOWN,IO_PULL_UP_LEVEL4); +#endif Uwbinit(); + OpenUWB(); while (1) { + #ifdef DEBUG_BOXING + gpio_pin_clr(BOXING_PIN);//测试 +// gpio_pin_set(BOXING_PIN);//测试 + #endif Lora_Tx_Poll(); + uwb_app_poll(); IdleTask(); } } -- Gitblit v1.9.3