From 387d1ffc16ce9e050403baee0ed07f3d9accf632 Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期五, 04 七月 2025 14:55:15 +0800 Subject: [PATCH] 初步移植完成0.6.8SDK,但发送有len太长未找到原因 --- keil/include/main/main.c | 87 ++++++++++++++++++++++++------------------- 1 files changed, 48 insertions(+), 39 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index 9528d5e..8c7fd88 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -68,7 +68,7 @@ uint8_t enable_sleep_count,sleep_flag; uint32_t battery_get_count; //#define DEBUG_MODE - +uint32_t reboot_num; struct UART_CFG_T test_uart_cfg = { .parity = UART_PARITY_NONE, @@ -118,7 +118,7 @@ .callback = app_wdt_callback, }; -uint8_t state5v = 1; +uint8_t state5v = 0; uint8_t bat_percent=0,g_start_send_flag=1; int16_t fVoltage_mv; uint8_t bat_percent; @@ -133,9 +133,10 @@ void boot_deinit(void); void Get_batterty_Voltage(void); void Calculate_battery_percent(void); +uint8_t sleep_limit_time=1; static void uart_receive_callback(void *dev, uint32_t err_code) { -uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); +uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); } void UartInit(void) { @@ -176,9 +177,12 @@ { //sleep_timer_start(__MS_TO_32K_CNT(1000)); static uint8_t lost_jumpcount=0; + reboot_num++; + if(reboot_num>=3600) + NVIC_SystemReset(); //软复位回到bootloader enable_sleep_count++; - if(enable_sleep_count==SLEEP_START_TIME){ - + + if(enable_sleep_count==sleep_limit_time){ enable_sleep_count=0; sleep_flag=1; } @@ -236,21 +240,24 @@ group_id=g_com_map[GROUP_ID]; memcpy(&dev_id ,&g_com_map[DEV_ID],2); tag_frequency=1000/g_com_map[COM_INTERVAL]; -g_com_map[VERSION] = (1<<8)|6; +g_com_map[VERSION] = (1<<8)|12; LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id); -LOG_INFO(TRACE_MODULE_APP,"固件版本:UWB-标签 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff); +LOG_INFO(TRACE_MODULE_APP,"固件版本:UWB-免布线信标 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff); } +uint8_t test1; void IdleTask(void) { UART0_CheckReceive(); + test1=gpio_pin_get_val(INPUT_5V_Pin); if(gpio_pin_get_val(INPUT_5V_Pin)) { - - //UART_CheckSend(); // bat_percent=Get_Battary(); if(state5v==0) { state5v=1; + sleep_flag=0; + sleep_limit_time=30;//新增插入串口后30s不休眠 + enable_sleep_count=0;//重新插拔可以重置时间 } }else{ if(state5v==1) @@ -283,20 +290,21 @@ // Reset reason reset_cause_get(); reset_cause_clear(); - // Load calibration parameters from NVM - uint32_t internal_flash = (REG_READ(0x40000018) >> 17) & 0x1; - uint32_t external_flash = (REG_READ(0x40010030) >> 28) & 0x3; - if (internal_flash || external_flash == 1) - { - WsfNvmInit(); - board_calibration_params_load(); - flash_close(FLASH_ID0); - } - else - { - board_calibration_params_default(); - } - +// // Load calibration parameters from NVM +// uint32_t internal_flash = (REG_READ(0x40000018) >> 17) & 0x1; +// uint32_t external_flash = (REG_READ(0x40010030) >> 28) & 0x3; +// if (internal_flash || external_flash == 1) +// { +// WsfNvmInit(); +// board_calibration_params_load(); +// flash_close(FLASH_ID0); +// } +// else +// { +// board_calibration_params_default(); +// } + // Load calibration parameters + board_calibration_params_load(); // Chip calibration calib_chip(); @@ -323,8 +331,9 @@ //adc_open(&usr_adc_cfg); //adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 // Enable sleep timer - Tag_uwb_init(); - sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback); + //Tag_uwb_init(); + Anchor_uwb_aoa_square_init(); + sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback); //sleep_timer_start(__MS_TO_32K_CNT(g_com_map[COM_INTERVAL]));//测试 sleep_timer_start(__MS_TO_32K_CNT(SLEEP_COUNT));//测试 //board_5V_input_init(voltage_input_handler);//有修改3.3V会一直高电平导致无法进入休眠 @@ -335,11 +344,11 @@ #endif //Serial0_PutString("进入app测试\r\n"); while (1) - { wdt_ping(WDT_ID0);//喂狗 + { if(g_start_send_flag) { //LOG_INFO(TRACE_MODULE_APP, "测距ing"); - + wdt_ping(WDT_ID0);//喂狗 g_start_send_flag = 0; gpio_pin_set(LED_PIN);//亮 TagRange(); @@ -350,18 +359,18 @@ } LoraUp_Poll(); #ifndef DEBUG_MODE -// if(sleep_flag){//开始一段时间无休眠 -// trace_flush(); -// uint32_t lock = int_lock(); -// //LOG_INFO(TRACE_MODULE_APP, "进入低功耗"); -// //唤醒源设置MK8000修改 -// //board_5V_input_init(voltage_input_handler); -// //sleep_timer_start(g_com_map[COM_INTERVAL]); -// power_enter_power_down_mode(0); -// uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); -// //LOG_INFO(TRACE_MODULE_APP, "进入低功耗"); -// int_unlock(lock); -// } + if(sleep_flag){//开始一段时间无休眠 + trace_flush(); + uint32_t lock = int_lock(); + //LOG_INFO(TRACE_MODULE_APP, "进入低功耗"); + //唤醒源设置MK8000修改 + //board_5V_input_init(voltage_input_handler); + //sleep_timer_start(g_com_map[COM_INTERVAL]); + power_enter_power_down_mode(0); + uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); + //LOG_INFO(TRACE_MODULE_APP, "进入低功耗"); + int_unlock(lock); + } #endif } -- Gitblit v1.9.3