| | |
| | | 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; |
| | |
| | | { |
| | | 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))//䏿æ¥è¯¢è¯çç¶æç´å°åé宿 |
| | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | void Tag_App(void)//å鿍¡å¼(TAGæ ç¾) |
| | | { |
| | | //LED0_ON; |
| | |
| | | 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; |
| | | } |
| | | } |