keil/uwb_app.c
@@ -506,17 +506,20 @@
    anchordata_num=j;
      
}
int success_num=0;
void in_table_log(void)
{
   uint32_t u32LogLen,datalenth;
   char acReadponse[200];
   u32LogLen = snprintf(acReadponse, sizeof(acReadponse), "车内:%d 人 ID:",get_in_num,get_out_num);
   u32LogLen = snprintf(acReadponse, sizeof(acReadponse), "车内:%d 人 测距成功数:%d ID: ",get_in_num,success_num);
               for(uint16_t i=0;i<get_in_num;i++)
            {
                datalenth = sprintf((char*)&acReadponse[u32LogLen],",%04X",anchor_id_in[i]);
                u32LogLen += datalenth;
            }
      LOG_INFO(TRACE_MODULE_APP,"%s\r\n",acReadponse);
                  success_num=0;
}
void TagListUpdate_person_num_car(void)
{
@@ -674,13 +677,14 @@
      }   
   }
}
int UwbRange(void)
{
    uint8_t i;
    uint16_t tempid;
    // The following peripherals will be initialized in the uwb_open function
    // phy/mac/aes/lsp/phy timers initialized
    uwb_open();
//    // Set calibration parameters
//    uwb_calibration_params_set(config.phy_cfg.ch_num);
@@ -694,7 +698,7 @@
//    };
//    phy_adv_params_configure(&adv_config);
//    // uwb configure
//    // uwb configure
//    uwb_configure(config.phy_work_mode, board_param.tx_power_fcc[CALIB_CH(config.phy_cfg.ch_num)], &config.phy_cfg);
//    ranging_frame_type_set(config.phy_cfg.sts_pkt_cfg);
@@ -722,7 +726,7 @@
         current_count=phy_timer_count_get();
         while(mac_is_busy())
        {
                  Calibration_Time();
                  //Calibration_Time();
            IdleTask();
            current_count=phy_timer_count_get();
            if(current_count>end_receive_count&&current_count<end_receive_count+HALF_SECOND_TIME)
@@ -775,23 +779,25 @@
            }
                  recev_error_num=0;
              //range_timeout_us=5000;//恢复为5000进入range后
           //LOG_INFO(TRACE_MODULE_APP,"标签ID:%X,距离: %d 包序%d\r\n",g_com_receive_id,distance,frame_seq_nb2);
           LOG_INFO(TRACE_MODULE_APP,"标签ID:%X,距离: %d 包序%d\r\n",g_com_receive_id,distance,frame_seq_nb2);
                  //LOG_INFO(TRACE_MODULE_APP,"标签ID:%X,距离: %d 信号强度ANT0:%f,信号强度ANT2: %f\r\n",g_com_receive_id,distance,sts_rssi[0],sts_rssi[2]);
                check_if_in_or_out_car(g_com_receive_id,distance,sts_rssi[0],sts_rssi[2]);
               success_num++;
               
                  gpio_pin_clr(SCL_PIN);
                  //gpio_pin_clr(SCL_PIN);
        //break;去掉break变为一对多
            }
    } 
         sts_lsp_store();
         gpio_pin_clr(SCL_PIN);
         break;
      //失败或者接受被高发射机打断都会再次开启接收
         //flag_temp1=uwb_rx(0, 0, range_timeout_us);
   }
      delay_us(1);
//      delay_us(1);
      sts_lsp_store_stop();
      uwb_rx_force_off(1);
//      uwb_rx_force_off(1);
//      if(!flag_recsuccess)
//      {
@@ -812,6 +818,7 @@
}
void Uwb_init(void)
{
     uwb_open();
   #ifdef STS_MODE
 // Set STS key and IV
    phy_sts_key_configure(&sts_iv_key);
@@ -1007,9 +1014,9 @@
    case LINK_SUCCESS:
    {   //连接成功进行轮询测距
        uwb_led_on();
        //uwb_led_on();
        UwbRange();
        uwb_led_off();
        //uwb_led_off();
    }
    break;