首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我希望我的multihopOscilloscope也能通过无线电和串口发送数据

我希望我的multihopOscilloscope也能通过无线电和串口发送数据
EN

Stack Overflow用户
提问于 2016-11-17 05:44:40
回答 1查看 78关注 0票数 0

我正在尝试修改多跳示波器程序,以便汇聚节点能够同时向UART和无线电介质发送数据。就研究而言,我发现同样的硬件也用于通过UART和无线电发送数据包。在这种情况下,如何修改代码,以便根据接收到的条件将数据发送到UART或radio。在示例程序中,我每收到10个数据包就通过无线电发送数据。

我的接收器节点的接收模块是:

代码语言:javascript
复制
event message_t*  Receive.receive(message_t* msg, void *payload, uint8_t len) {
oscilloscope_t* in = (oscilloscope_t*)payload;
  counter++;
am_addr_t rec = call AMPacket.source(msg);

oscilloscope_t* out;
counter++;
    call Leds.led0On();
if (uartbusy == FALSE) {
  out = (oscilloscope_t*)call SerialSend.getPayload(&uartbuf, sizeof(oscilloscope_t));
  if (len != sizeof(oscilloscope_t) || out == NULL) {
return msg;
  }
  else {
memcpy(out, in, sizeof(oscilloscope_t));
  }
  uartlen = sizeof(oscilloscope_t);
  post uartSendTask();
} else {
  message_t *newmsg = call UARTMessagePool.get();
  if (newmsg == NULL) {
    report_problem();
    return msg;
  }

  //Serial port busy, so enqueue.
  out = (oscilloscope_t*)call SerialSend.getPayload(newmsg, sizeof(oscilloscope_t));
  if (out == NULL) {
return msg;
  }
  memcpy(out, in, sizeof(oscilloscope_t));

  if (call UARTQueue.enqueue(newmsg) != SUCCESS) {

    call UARTMessagePool.put(newmsg);
    fatal_problem();
    return msg;
  }
}
if(counter % 10 == 0){  
oscilloscope_t* btrpkt = (oscilloscope_t*)(call Packet.getPayload(&pkt, sizeof(oscilloscope_t)));
call Leds.led1On();
if (call AMSend.send(rec, &pkt, sizeof(oscilloscope_t)) == SUCCESS) {
call Leds.led0On();
    sendbusy = TRUE;
  }
}
return msg;

}

一旦数据发送回从其接收数据包的节点,它将无法再次通过UART处理它。有人能帮我解决我的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-12-05 07:00:45

根据问题和评论:

  1. 您必须使用与接收方相同的id来实例化AMSenderC。在这种情况下,如果您希望消息由相同的代码处理,则返回AM_OSCILLOSCOPE。或者另一个id加上Receive接口的新实现。您错过了将有效负载放入btrpkt.
  2. You的
  3. 必须检查sendbusy -如果您试图在无线电堆栈繁忙时使用它,这是一个错误。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40642915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档