工程师您好,最近我用cc2530 zstack3.0去做开发,开启了两个串口,分别是串口0和串口1。其中串口0采用dma,串口1采用isr。现在使用路由的串口1(isr)做数据透传,数据长度为73字节,在组网成功之后,使用串口调试助手发送数据,前两次数据透传正常,终端的串口1(isr)能正常输出数据。但是第三次发送数据之后,终端就无法接收到了,抓包发现数据并没有发出去,之后串口助手一直发数,大约发送10条之后,数据发送不成功,
if( AF_DataRequest( &MyApp_DstAddr_DTU,
MyApp_epDesc,
//MYAPP_STAR_CLUSTERID,
MYAPP_DTU_CLUSTERID,
i8_uart1_len+7,
Myapp_star_RBuf,
&MyApp_TransID_DTU,
AF_TX_OPTIONS_NONE, //AF_ACK_REQUEST
AF_DEFAULT_RADIUS ) != afStatus_SUCCESS )
{
HalUARTWrite(1,"MyApp_AFSendUartData error\r\n",strlen("MyApp_AFSendUartData error\r\n"));
memset(Myapp_star_RBuf,0,27);
i8_uart1_len = 0;
}
else //发送成功
{
memset(Myapp_star_RBuf,0,27);
//HalUARTWrite(1,"succ",strlen("succ"));
i8_uart1_len = 0;
}
路由的串口1才开始输出错误信息,抓包发现已经断网。注:期间73字节数据一直是路由向终端发送,第三次发送数据之后,终端没有收到数,抓包也没有显示发出,但是终端向路由透传短数据,大约10字节是可以的。随着发送次数增多,才出现断网。
请问工程师们,这种情况应该如何解决,谢谢!!