51uwb.cn
标题:
测距的数据上传方式如何修改?
[打印本页]
作者:
nai123
时间:
2019-3-28 11:07
标题:
测距的数据上传方式如何修改?
为了管理方便,论坛是邀请制,如果需要注册论坛,点击论坛上方的“店铺”,旺旺联系免费获得邀请码
就像通过基站0传输数据一样,如何通过标签把数据发给另一块单片机或上位机?具体
[size=13.3333px]怎么修改源代码?要是能有关键点修改截图会更好。
作者:
tuzhuke
时间:
2019-3-28 21:21
正如你说的,可以仿照目前定位数据回传的方式,例如下面tag将信息回传到
基站0
DWM1000 发送信息很简单,主要是以下语句,你只需要将要发送的信息填入到angle_msg中(下例)
dwt_writetxdata(sizeof(angle_msg), angle_msg, 0);
dwt_writetxfctrl(sizeof(angle_msg), 0);
/* Start transmission, indicating that a response is expected so that reception is enabled automatically after the frame is sent and the delay
* set by dwt_setrxaftertxdelay() has elapsed. */
dwt_starttx(DWT_START_TX_IMMEDIATE );
while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS))
{ };
复制代码
上面是TAG发送,并没有指定谁去接收,也就是TAG发送的时候,其实大家所有其他模块都是会收到这个信息的,关键是谁去处理。
下面是基站接收部分代码
开始的两个比较,第一是匹配是否是angle_msg(这个信息是约定的),第二个是ANCHOR_IND这个是宏定义,基站0 的ANCHOR_IND 为0,所以基站0 会满足这个判断条件
else if (memcmp(rx_buffer, angle_msg, ALL_MSG_COMMON_LEN) == 0 && ANCHOR_IND == 0)
{
if(rx_buffer[LOCATION_FLAG_IDX] == 1)//location infomartion
{
rx_buffer[ALL_MSG_TAG_IDX] = tag_index;
USART_puts(&rx_buffer[LOCATION_INFO_START_IDX],rx_buffer[LOCATION_INFO_LEN_IDX]);
}
else //follow car
{
putchar(rx_buffer[10]);
}
}
复制代码
以上仅解释了接收发送相关函数,由于目前正式release 出来的版本代码量较大,可以参见我之前写的几篇文章学习基本原理,理解基本函数内容
博文直达
: cnblogs.com/tuzhuke/p/9967608.html
欢迎光临 51uwb.cn (http://51uwb.cn/)
Powered by Discuz! X3.3