51uwb.cn

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

测距的数据上传方式如何修改?

[复制链接]

2

主题

3

帖子

26

积分

新手上路

Rank: 1

积分
26
跳转到指定楼层
楼主
发表于 2019-3-28 11:07:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为了管理方便,论坛是邀请制,如果需要注册论坛,点击论坛上方的“店铺”,旺旺联系免费获得邀请码
就像通过基站0传输数据一样,如何通过标签把数据发给另一块单片机或上位机?具体[size=13.3333px]怎么修改源代码?要是能有关键点修改截图会更好。
回复

使用道具 举报

73

主题

249

帖子

6829

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6829
沙发
发表于 2019-3-28 21:21:40 | 只看该作者
正如你说的,可以仿照目前定位数据回传的方式,例如下面tag将信息回传到基站0
DWM1000 发送信息很简单,主要是以下语句,你只需要将要发送的信息填入到angle_msg中(下例)
  1. dwt_writetxdata(sizeof(angle_msg), angle_msg, 0);
  2.     dwt_writetxfctrl(sizeof(angle_msg), 0);

  3.     /* Start transmission, indicating that a response is expected so that reception is enabled automatically after the frame is sent and the delay
  4.      * set by dwt_setrxaftertxdelay() has elapsed. */
  5.     dwt_starttx(DWT_START_TX_IMMEDIATE );
  6.     while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS))
  7.     { };
复制代码
上面是TAG发送,并没有指定谁去接收,也就是TAG发送的时候,其实大家所有其他模块都是会收到这个信息的,关键是谁去处理。
下面是基站接收部分代码
开始的两个比较,第一是匹配是否是angle_msg(这个信息是约定的),第二个是ANCHOR_IND这个是宏定义,基站0 的ANCHOR_IND 为0,所以基站0 会满足这个判断条件
  1. else if (memcmp(rx_buffer, angle_msg, ALL_MSG_COMMON_LEN) == 0 && ANCHOR_IND == 0)
  2.             {
  3.                 if(rx_buffer[LOCATION_FLAG_IDX] == 1)//location infomartion
  4.                 {
  5.                     rx_buffer[ALL_MSG_TAG_IDX] = tag_index;
  6.                     USART_puts(&rx_buffer[LOCATION_INFO_START_IDX],rx_buffer[LOCATION_INFO_LEN_IDX]);
  7.                 }
  8.                 else //follow car
  9.                 {
  10.                     putchar(rx_buffer[10]);
  11.                 }
  12.             }
复制代码
以上仅解释了接收发送相关函数,由于目前正式release 出来的版本代码量较大,可以参见我之前写的几篇文章学习基本原理,理解基本函数内容

博文直达: cnblogs.com/tuzhuke/p/9967608.html




回复

使用道具 举报

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

本版积分规则

bphero Inc.  

GMT+8, 2024-5-10 23:41 , Processed in 0.010231 second(s), 4 queries , File On.

Powered by Discuz! X3.3

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

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