nai123 发表于 2019-3-28 11:07:04

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

为了管理方便,论坛是邀请制,如果需要注册论坛,点击论坛上方的“店铺”,旺旺联系免费获得邀请码
就像通过基站0传输数据一样,如何通过标签把数据发给另一块单片机或上位机?具体怎么修改源代码?要是能有关键点修改截图会更好。

tuzhuke 发表于 2019-3-28 21:21:40

正如你说的,可以仿照目前定位数据回传的方式,例如下面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 == 1)//location infomartion
                {
                  rx_buffer = tag_index;
                  USART_puts(&rx_buffer,rx_buffer);
                }
                else //follow car
                {
                  putchar(rx_buffer);
                }
            }以上仅解释了接收发送相关函数,由于目前正式release 出来的版本代码量较大,可以参见我之前写的几篇文章学习基本原理,理解基本函数内容

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




页: [1]
查看完整版本: 测距的数据上传方式如何修改?