This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ZStack下的串口通信

在ZStack下使用广播组网方式,使用串口通信发送数据(PC到终端),大概每隔3秒才接收一次数据(协调器到PC),问什么这么慢,求教?

  • 请问您现在发送的数据量多大?串口是如何配置的呢?

  • void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt ) //接收数据
    {
      uint16 flashTime;

      switch ( pkt->clusterId )
      {
        case SAMPLEAPP_PERIODIC_CLUSTERID:
          HalUARTWrite(0, "Rx:", 3);        //提示信息
          HalUARTWrite(0, pkt->cmd.Data, pkt->cmd.DataLength); //输出接收到的数据
          HalUARTWrite(0, "\n", 1);         //回车换行
          break;

        case SAMPLEAPP_FLASH_CLUSTERID:     //此实验没有使用,到后面实验详解
          flashTime = BUILD_UINT16(pkt->cmd.Data[1], pkt->cmd.Data[2] );
          HalLedBlink( HAL_LED_4, 4, 50, (flashTime / 4) );
          break;
      }
    }

    目前就固定发送一串数字:

    void SampleApp_SendPeriodicMessage( void )
    {
      uint8 data[11]="0123456789";
      if ( AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc,
                           SAMPLEAPP_PERIODIC_CLUSTERID,
                           10,
                           data,
                           &SampleApp_TransID,
                           AF_DISCV_ROUTE,
                           AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
      {
      }
      else
      {
        // Error occurred in request to send.
      }
    }