51uwb.cn

标题: 关于标签广播多基站的代码问题 [打印本页]

作者: 翻滚吧六宝    时间: 2022-4-20 17:42
标题: 关于标签广播多基站的代码问题


struct Anthor_Information
{
    uint16 short_address;//基站短地址
    uint16 distance;//距离信息
    uint32 last_time;//上次通信时间
    uint8  rssi_info;//上次通信RSSI记录
    unsigned char alive; //是否已经识别或丢失


} anthor_info[MAX_ANTHOR];
uint8 gSend_index = 0;
uint8 gProcess_Dis = 0;



求问
uint8 gSend_index = 0;
uint8 gProcess_Dis = 0;
这两个变量具体是什么意思呀

作者: 蓝点无限    时间: 2022-4-20 23:03
gSend_index 用于控制什么时候向“基站0”发送距离信息
每次测距成功gSend_index+1,当gSend_index 等于目前基站数目,其实已经和所有基站测距了,此时会调用Send_Dis_To_Anthor0 将距离信息发送给“基站0”

gProcess_Dis 用来标记是否测距失败。
在下面代码中,启动测试,并将gProcess_Dis  设置为1
  1.                     gProcess_Dis = 1;
  2.                     BPhero_Distance_Measure_Specail_ANTHOR();// ´Ó1 2 3 4·¢ËÍ
复制代码


如果接收中断中接收错误,并且gProcess_Dis  等于1,那么可以证明启动测距对方基站没有反馈,那就可以将该基站从基站列表中删除
  1.   else
  2.     {
  3.         if(gProcess_Dis == 1)
  4.         {
  5.             printf("timeout address 0x%04X\n",Find_Address());
  6.             Delete_Anthor(Find_Address());
  7.         }
复制代码





欢迎光临 51uwb.cn (http://51uwb.cn/) Powered by Discuz! X3.3