TI中文支持网
TI专业的中文技术问题搜集分享网站

CC3235SF: 请问我在使用sl_Send()API发送数据时,其返回值为-11,这代表什么呢?

Part Number:CC3235SF

1.请问我在使用sl_Send()函数发送数据时,发现有时候会返回-11,查找了手册,发现说-11好像是资源不可用,需要重新发送,那么一般什么情况下会导致这种资源不可用呢?

2.在使用sl_Send()该API函数时,默认使用的socket是阻塞还是非阻塞呢?

wu:

nonBlocking = FALSE; status = sl_SetSockOpt(tcp_client_socket, SL_SOL_SOCKET, SL_SO_NONBLOCKING, &nonBlocking, sizeof(nonBlocking));

为什么我将socket设置成非阻塞情况下,会出现程序卡死的情况,但是我设置成阻塞状态的话就会出现在使用sl_send()发送数据的时候返回-11。在整个系统中使用了FREERTOS操作系统和多线程。请问这种情况下应该怎么处理呢?

,

Kevin Qiu1:

 -11代表没有发送成功,一般需要检查IP以及端口是否正确,检查内部buffer是否可用

对于freertos问题,如此前所说,建议你在英文论坛提问

,

wu:

IP和端口都是可用的,buffer也是可以的,他是一段时间没问题,但是过段时间偶尔就会发生这样的情况,而且返回的基本都是-11.请问这种情况一般会是什么原因引起的呢

,

Kevin Qiu1:

一般都是上面说的几种原因之一,一段时间后才会出现这样的问题很有可能是buffer的问题

,

wu:

如何判断是不是buffer的问题呢?因为我是通过消息队列来存放数据,然后在从消息队列里将数据拿出来sl_send()发往上位机,但是我发现他偶尔就会出现sl_send()发送失败返回-11的问题,这是什么回事呢?

,

wu:

sl_send()发送返回-11特别经常,测试发现,发送60s返回-11大概是200多次,请问应该如何减少或解决这种发送失败呢?应该怎么处理这种问题呢

,

Kevin Qiu1:

如果是TI-RTOS,可以通过ROV观测buffer使用情况来判断

freertos则没有办法通过ROV观测,对于freertos的消息队列存放数据,如此前所说,中文论坛目前没有freertos专家,你应该在英文论坛或者freertos论坛提问

,

wu:

那buffer一般是原因才会导致发送失败呢

,

Kevin Qiu1:

等待此处的回复:https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1070454/cc3235sf-about-sl_-send-failed-to-send-and-returned—11

赞(0)
未经允许不得转载:TI中文支持网 » CC3235SF: 请问我在使用sl_Send()API发送数据时,其返回值为-11,这代表什么呢?
分享到: 更多 (0)