guanjiao
2018-09-15 8770b97111b845632246b08696f4362f6e88a5ee
Ô´Âë/ºËÐİå/Src/application/dw_app.c
@@ -28,6 +28,8 @@
#include "led.h"
#include "serial_at_cmd_app.h"
#include "Usart.h"
#include "global_param.h"
#include "filters.h"
/*------------------------------------ Marcos ------------------------------------------*/
@@ -128,6 +130,10 @@
uint8_t random_delay_tim = 0;
double distance, dist_no_bias, dist_cm;
uint32_t g_UWB_com_interval = 0;
float dis_after_filter;            //当前距离值
LPFilter_Frac* p_Dis_Filter;      //测距用的低通滤波器
/*------------------------------------ Functions ------------------------------------------*/
@@ -234,23 +240,20 @@
    dwt_setrxaftertxdelay(POLL_TX_TO_RESP_RX_DLY_UUS);         //设置发送后开启接收,并设定延迟时间
    dwt_setrxtimeout(RESP_RX_TIMEOUT_UUS);                  //设置接收超时时间
}
void Delayus(uint16_t time)
{
  uint16_t i = 0;
  while (time--) {
    i = 10;
    while (i--)
      ;
  }
void tag_sleep_configuraion(void)
{
   dwt_configuresleep(0x940, 0x7);
   dwt_entersleep();
}
void Tag_App(void)//发送模式(TAG标签)
{
   uint32_t frame_len;
   uint32_t final_tx_time;
   
   GPIO_ResetBits(SPIx_GPIO, SPIx_CS);
   Delayus(2000);
   delay_us(2000);
   GPIO_SetBits(SPIx_GPIO, SPIx_CS);
   
   /* Write frame data to DW1000 and prepare transmission. See NOTE 7 below. */
@@ -450,7 +453,10 @@
               dist_cm = dist_no_bias * 100; //dis ä¸ºå•位为cm的距离
//               dist[TAG_ID] = LP(dis, TAG_ID); //LP ä¸ºä½Žé€šæ»¤æ³¢å™¨ï¼Œè®©æ•°æ®æ›´ç¨³å®š
               
               /*--------------------------以下为非测距逻辑------------------------*/
               LED0_BLINK; //每成功一次通讯则闪烁一次
               g_UWB_com_interval = 0;
               dis_after_filter = LP_Frac_Update(p_Dis_Filter, dist_cm);
            }
         }