chen
2025-01-02 724f1e7164d903eb14151bb352e483fa0b2ea0fc
keil/include/main/main.c
@@ -61,9 +61,12 @@
#define TEST_UART_MODE TEST_UART_DMA_MODE
#define NUM_SAMPLES 1
#define SLEEP_START_TIME 120
#define SLEEP_START_TIME 10
#define FREQ_LOST_TIME 5
#define NOTAG_FREQ  1
uint8_t enable_sleep_count,sleep_flag;
#define DEBUG_MODE
//#define DEBUG_MODE
struct UART_CFG_T test_uart_cfg =
{
        .parity = UART_PARITY_NONE,
@@ -109,7 +112,8 @@
uint8_t bat_percent;
extern uint32_t dev_id;
extern uint8_t group_id;
uint8_t tag_frequence;
extern float freqlost_count;
uint8_t tag_frequency;
void UartDeinit(void);
void UartInit(void);
void Program_Init(void);
@@ -134,14 +138,25 @@
static void sleep_timer_callback(void *dev, uint32_t time)
{
    //sleep_timer_start(__MS_TO_32K_CNT(1000));
   static uint8_t lost_jumpcount=0;
      enable_sleep_count++;
   if(enable_sleep_count==SLEEP_START_TIME){
      enable_sleep_count=0;
      sleep_flag=1;
   }
      g_start_send_flag=1;
    //LOG_INFO(TRACE_MODULE_APP, "Sleep timer interrupt callback\r\n");
//   if(freqlost_count++>FREQ_LOST_TIME)
//   {
//            tag_frequency = NOTAG_FREQ;
//        if(lost_jumpcount++>=4) //无测距情况下,每5秒发一次;
//        {
//            lost_jumpcount = 0;
//            g_start_send_flag=1;
//        }
//   }else{
//      g_start_send_flag=1;
//   }
   g_start_send_flag=1;
}
static void adc_callback(void *data, uint32_t number)
{
@@ -177,8 +192,8 @@
parameter_init();//g_com_map表初始化
group_id=g_com_map[GROUP_ID];
memcpy(&dev_id ,&g_com_map[DEV_ID],2);
tag_frequence=1000/g_com_map[COM_INTERVAL];
g_com_map[VERSION] = (1<<8)|3;
tag_frequency=1000/g_com_map[COM_INTERVAL];
g_com_map[VERSION] = (1<<8)|5;
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);
}
@@ -250,7 +265,7 @@
    //sys_timer_open();
      
    gpio_open();
    //board_led_init();
    board_led_init();
      
       //uart_open(UART_ID0, &test_uart_cfg);
      
@@ -262,9 +277,10 @@
      //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);
      //sleep_timer_start(__MS_TO_32K_CNT(g_com_map[COM_INTERVAL]));//测试
      sleep_timer_start(__MS_TO_32K_CNT(500));//测试
      sleep_timer_start(__MS_TO_32K_CNT(SLEEP_COUNT));//测试
      //board_5V_input_init(voltage_input_handler);//有修改3.3V会一直高电平导致无法进入休眠
      #ifdef BOXING 
            io_pin_mux_set(IO_PIN_5, IO_FUNC0);//波形测试
@@ -279,8 +295,9 @@
         //LOG_INFO(TRACE_MODULE_APP, "测距ing");
         
         g_start_send_flag = 0;
         gpio_pin_set(LED_PIN);//亮
         TagRange();
         gpio_pin_clr(LED_PIN);//灭
         IdleTask();   
         }else{
         IdleTask();