| | |
| | | dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR); |
| | | } |
| | | } |
| | | u8 misdist_num[TAG_NUM_IN_SYS],seize_anchor; |
| | | extern uint16_t configremotetagID; |
| | | extern u8 remotetag_paralen; |
| | | u8 misdist_num[TAG_NUM_IN_SYS],seize_anchor,waittagconfig_reponse; |
| | | u8 Anchor_RecNearPoll(u8 ancrec_nearbasepos) //0 mainbase 1 first near_base |
| | | { |
| | | u8 motorstate; |
| | |
| | | tx_nearresp_msg[MAINBASE_INDEX]=flag_syncbase; |
| | | tx_nearresp_msg[MESSAGE_TYPE_IDX]=NEAR_RESPONSE; |
| | | tx_nearresp_msg[MOTORSTATE_INDEX]=(remotesend_state<<4)|motorstate; |
| | | if(remotesend_state) |
| | | waittagconfig_reponse=0; |
| | | if(remotesend_state&&!memcmp(&rx_buffer[TAG_ID_IDX],&configremotetagID,2)) |
| | | { |
| | | memcpy(&tx_nearresp_msg[REMOTEPARA_INDEX],remotetag_para,REMOTEPARA_LEN); |
| | | dwt_writetxdata(22+REMOTEPARA_LEN, tx_nearresp_msg, 0);//åå
¥åéæ°æ® |
| | | dwt_writetxfctrl(22+REMOTEPARA_LEN, 0);//设å®åéé¿åº¦ |
| | | memcpy(&tx_nearresp_msg[REMOTEPARA_INDEX],remotetag_para,remotetag_paralen); |
| | | dwt_writetxdata(22+remotetag_paralen, tx_nearresp_msg, 0);//åå
¥åéæ°æ® |
| | | dwt_writetxfctrl(22+remotetag_paralen, 0);//设å®åéé¿åº¦ |
| | | waittagconfig_reponse=1; |
| | | }else{ |
| | | dwt_writetxdata(22, tx_nearresp_msg, 0);//åå
¥åéæ°æ® |
| | | dwt_writetxfctrl(22, 0);//设å®åéé¿åº¦ |
| | |
| | | misdist_num[taglist_pos]++; |
| | | } |
| | | } |
| | | if(rx_buffer[TAGCONFIGSUCCESS_INDEX]==1&&waittagconfig_reponse) |
| | | { |
| | | waittagconfig_reponse = 0; |
| | | remotesend_state = 0; |
| | | usart_send[2] = 7;//æ£å¸¸æ¨¡å¼ |
| | | usart_send[3] = 5;//æ°æ®æ®µé¿åº¦ |
| | | memcpy(&usart_send[4],&tag_id_recv,2); |
| | | usart_send[6] = 1;//æ°æ®æ®µé¿åº¦ |
| | | checksum = Checksum_u16(&usart_send[2],5); |
| | | memcpy(&usart_send[7],&checksum,2); |
| | | UART_PushFrame(usart_send,9); |
| | | } |
| | | } |
| | | }else{ |
| | | //printf("%x/n",status_reg); |