Richie1986 发表于 2011-6-16 15:32:18

stm32w108该如何设置组网发送字符串?请教各位大侠!

    在SimpleMAC自带的的 talk.c 里,实现的是串口聊天程序。在两个PC机端各自输入什么对方就接受什么。但这个程序时点对点的,PAN ID已设定一致,即:  ST_RadioSetNodeId(0x1604);
                                               ST_RadioSetPanId(0x1604);
    我现在要想组网,各个节点往协调器发送自己UART接受的数据。参考 talk.c,我的程序如下。但还是没有实现,有劳GGJJ帮忙看一下,在此先谢了!
void sendSerialData(u8 length, u8 *data)    //节点向SUN发送数据
{
  u8 packet;
  //Length
  packet = (length + 11 + 2);
  packet = FCF_DATA + FCF_ACKREQ + FCF_INTRAPAN;
  packet = FCF_SHORTDST + FCF_SHORTSRC;
  //New sequence number
  currSeqNum++;
  packet = currSeqNum;
  //dst PAN ID
  packet = (ST_RadioGetPanId()>>0)&0xFF;
  packet = (ST_RadioGetPanId()>>8)&0xFF;
  //Short dst addr
  packet = (0xFFFF>>0)&0xFF;
  packet = (0xFFFF>>8)&0xFF;
  //Short src addr
  packet = (ST_RadioGetNodeId()>>0)&0xFF;
  packet = (ST_RadioGetNodeId()>>8)&0xFF;
  //payload type
  packet = PT_GENERIC_DATA;  //一般数据包类型
  
  packet = PT_CHARS;                   //字符串标志
  halCommonMemCopy(packet+11, data, length);
 
  txComplete = FALSE;
 
  enqueueTxPacket(TRUE, 0xFFFF, packet, 0);
}/* end sendSerialData() */

  switch(packetType) {                                            //SUN接受到数据并输出
    case (GENERIC_DATA_PACKET): //executes on SUN and PLANET
      RX_DETAILS(printf("GENERIC_DATA_PACKET\r\n");)
      
    if(rxData.packet==PT_CHARS){      //字符串标志的
        for(i=12;1
页: [1]
查看完整版本: stm32w108该如何设置组网发送字符串?请教各位大侠!