请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC3220
工具/软件:Code Composer Studio
我有正常工作代码:
开机、从设备向服务器发送数据(2个 TCP 数据包)、从服务器接收数据(2个 TCP 数据包)、休眠。 tcp_recv_data 调用2次
int32_t tcp_recv_data (void)
{
返回 tcp_bsd_client (PowerMeasure_AppData.sockID、0、false);
}
int32_t tcp_bsd_client (int16_t sockId、uint16_t lenight、uint8_t tx)
{
int32_t status =-1;
IF (TX)
{
状态= sl_Send (sockId、PowerMeasure_CB.frameData、lenight、0);
如果(状态<= 0)
{
ASSERT_ON_ERROR (STATUS);
返回状态;
}
其他
UART_PRINT ("发送(%d 字节)成功\n\r\n、长度);
}
其他
{
状态= sl_Recv (sockId、PowerMeasure_CB.frameData、MAX_FRAME_LENGTH、0);
如果(状态< 0)
{
ASSERT_ON_ERROR (STATUS);
返回状态;
}
如果(状态= 0)
UART_PRINT (" TCP 服务器已关闭连接)\n\n"\};
如果(状态> 0)则为其他
UART_PRINT ("已成功接收(%d 字节)\n\n"、状态);
}
PowerMeasure_AppData.sockID = sockId;
返回状态;
}
但有时服务器可以发送更多的2个数据包
如何使用 SL API 程序写入等待2-3秒的数据?