zhyinch
2020-03-25 b32ba27dec812f8233cfddde10f562d8c3366b26
Ô´Âë/ºËÐİå/Src/application/dw_app.c
@@ -193,6 +193,7 @@
u8 nearbase_num;
u16 nearbaseid_list[10],mainbase_id;
int32_t mainbase_dist,nearbase_distlist[10];
uint8_t trygetnearmsg_times;
void Poll(void)
{
   uint32_t frame_len;
@@ -269,6 +270,8 @@
         {
            memcpy(&minid, &rx_buffer[ANCHOR_ID_IDX], 4);
            tag_state=GETNEARMSG;
            trygetnearmsg_times=5;
            mindist=temp_dist;
         }
         if(result==0)
         {while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS))//不断查询芯片状态直到发送完成
@@ -363,6 +366,9 @@
   dwt_writetxdata(13+2*nearbase_num, tx_near_msg, 0);//将Poll包数据传给DW1000,将在开启发送时传出去
   dwt_writetxfctrl(13+2*nearbase_num, 0);//设置超宽带发送数据长度
   dwt_starttx(DWT_START_TX_IMMEDIATE | DWT_RESPONSE_EXPECTED);//开启发送,发送完成后等待一段时间开启接收,等待时间在dwt_setrxaftertxdelay中设置
   for(i=0;i<nearbase_num;i++)
   nearbase_distlist[i]=0xffff;
   flag_finalsend=0;
   neartimout_timer=0;
@@ -533,6 +539,7 @@
      }
   }
}
void Tag_App(void)//发送模式(TAG标签)
{
   //LED0_ON;
@@ -544,10 +551,18 @@
         Poll();
         break;
      case GETNEARMSG:
         GetNearMsg();
      //   if(trygetnearmsg_times--!=0)
         {GetNearMsg();
         }
//         else{
//            tag_state=DISCPOLL;
//         }
         break;
      case NEARPOLL:
         GPIO_WriteBit(EU_TX_GPIO, EU_RX_PIN, Bit_SET);
         NearPoll();
         GPIO_WriteBit(EU_TX_GPIO, EU_RX_PIN, Bit_RESET);
         break;
   }
}