| | |
| | | uint32_t final_tx_time; |
| | | u32 start_poll; |
| | | u8 i,j,getsync_flag=0,timeout; |
| | | // printf("%d",sync_timer); |
| | | dwt_forcetrxoff(); |
| | | dwt_setrxaftertxdelay(POLL_TX_TO_RESP_RX_DLY_UUS); //设置åéåå¼å¯æ¥æ¶ï¼å¹¶è®¾å®å»¶è¿æ¶é´ |
| | | dwt_setrxtimeout(RESP_RX_TIMEOUT_UUS); |
| | |
| | | if(rec_nearbaseid==nearbaseid_list[0]) |
| | | { |
| | | //////////////////////////////////æ¶é´åæ¥ |
| | | // memcpy(&sync_timer,&rx_buffer[ANCTIMEMS],2); |
| | | // memcpy(&tmp_time,&rx_buffer[ANCTIMEUS],2); |
| | | // exsistbase_list[0]=1; |
| | | memcpy(&sync_timer,&rx_buffer[ANCTIMEMS],2); |
| | | memcpy(&tmp_time,&rx_buffer[ANCTIMEUS],2); |
| | | exsistbase_list[0]=1; |
| | | //// memcpy(&tagslotpos,&rx_buffer[TAGSLOTPOS],2); |
| | | // |
| | | // tmp_time=tmp_time+450; |
| | | // if(tmp_time>999) |
| | | // { |
| | | // tmp_time-=999; |
| | | // sync_timer++; |
| | | // if(sync_timer>=1010) |
| | | // {sync_timer=0;} |
| | | // } |
| | | // TIM3->CNT=tmp_time; |
| | | tmp_time=tmp_time+450; |
| | | if(tmp_time>999) |
| | | { |
| | | tmp_time-=999; |
| | | sync_timer++; |
| | | if(sync_timer>=1010) |
| | | {sync_timer=0;} |
| | | } |
| | | TIM3->CNT=tmp_time; |
| | | |
| | | // if(tagslotpos>max_slotpos) |
| | | // tagslotpos=tagslotpos%(max_slotpos+1); |
| | |
| | | nearbase_distlist[i]=true_nearbase_distlist[i]; |
| | | if(nearbase_distlist[i]!=0x1ffff) |
| | | { |
| | | memcpy(&usart_send[3+6*report_num],&nearbaseid_list[i],2); |
| | | memcpy(&usart_send[5+6*report_num],&nearbase_distlist[i],4); |
| | | memcpy(&usart_send[4+6*report_num],&nearbaseid_list[i],2); |
| | | memcpy(&usart_send[6+6*report_num],&nearbase_distlist[i],4); |
| | | report_num++; |
| | | } |
| | | } |
| | | #ifdef USART_INTEGRATE_OUTPUT |
| | | usart_send[2] = report_num;//æ£å¸¸æ¨¡å¼ |
| | | checksum = Checksum_u16(&usart_send[2],report_num*6+1); |
| | | memcpy(&usart_send[3+report_num*6],&checksum,2); |
| | | UART_PushFrame(usart_send,5+report_num*6); |
| | | usart_send[2] = 4;//æ£å¸¸æ¨¡å¼ |
| | | usart_send[3] = report_num*6+2;//æ£å¸¸æ¨¡å¼ |
| | | checksum = Checksum_u16(&usart_send[2],report_num*6+2); |
| | | memcpy(&usart_send[4+report_num*6],&checksum,2); |
| | | UART_PushFrame(usart_send,6+report_num*6); |
| | | #endif |
| | | // if(mainbase_lost_count>5) |
| | | // { |
| | |
| | | void Tag_App(void)//å鿍¡å¼(TAGæ ç¾) |
| | | { |
| | | //LED0_ON; |
| | | dwt_forcetrxoff(); |
| | | g_Resttimer=0; |
| | | NearPoll(); |
| | | } |
| | |
| | | memcpy(&usart_send[19],&checksum,2); |
| | | UART_PushFrame(usart_send,21); |
| | | #else |
| | | memcpy(&usart_send[3+6*anc_report_num],&tag_id_recv,2); |
| | | memcpy(&usart_send[5+6*anc_report_num],&tagdist_list[taglist_pos],4); |
| | | memcpy(&usart_send[4+6*anc_report_num],&tag_id_recv,2); |
| | | memcpy(&usart_send[6+6*anc_report_num],&tagdist_list[taglist_pos],4); |
| | | anc_report_num++; |
| | | #endif |
| | | }else{ |