51uwb.cn

 找回密码
 立即注册
查看: 2853|回复: 1
打印 上一主题 下一主题

关于标签广播多基站的代码问题

[复制链接]

5

主题

16

帖子

43

积分

新手上路

Rank: 1

积分
43
跳转到指定楼层
楼主
发表于 2022-4-20 17:42:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


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;
这两个变量具体是什么意思呀
回复

使用道具 举报

35

主题

965

帖子

4052

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4052
沙发
发表于 2022-4-20 23:03:55 | 只看该作者
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.         }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

bphero Inc.  

GMT+8, 2024-5-4 15:30 , Processed in 0.013600 second(s), 4 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表