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.

[参考译文] CCS/CC3100MOD:问题

Guru**** 2386330 points
Other Parts Discussed in Thread: CC3100MOD, CC3100
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/784561/ccs-cc3100mod-questions

器件型号:CC3100MOD
主题中讨论的其他器件: CC3100

工具/软件:Code Composer Studio

e2e.ti.com/.../20190228100419_5F00_test.log

大家好!

我需要您的帮助来澄清 CC3100MOD 行为的几个方面。

第一

是否有能力获取有关在 CC3100中执行命令的实时信息。 我假设当 CC3100MOD 仍然无法完成其一侧的操作时、驱动程序会将控制权返回给主程序。 我在 e2e 帖子中发现、建议在 SPI 启用和禁用功能中使用100ms 延迟。 这可能是一个解释。

我需要知道如何定义 CC3100MOD 已准备好处理下一条命令。 例如、它完成了与建立接入点模式相关的所有命令。

特别是我对打开套接字命令"sl_close ()"的执行时间感兴趣。

2

任务:
1.创建接入点
2.在接入点,侦听套接字在非阻塞模式下打开。
然后应用程序在"sl_Accept"中循环。 它在以下情况下会中断:
3.1.将显示与套接字的外部连接。
3.2. 10秒间隔。
3.3.如果"sl_accept"返回与"sl_EAGAIN"不同的任何负值。

问题:
执行"sl_Accept"的时间不能超过10秒。 在接收到错误代码之前、"SL_EAGAIN"响应的数量是随机的。
2.根据程序日志(请参阅附件20190228100419_test.log)、CC3100驱动程序在将控制权返回主程序之前并不总是允许中断。


20190228100419_test.log:
|-来自"CC3100"的中断请求
[-来自 CC3100驱动程序的中断禁用命令
]-来自 CC3100驱动程序的中断启用命令
@-使用 HIB 重新启动模块)

3号

有一个任务通过 TCP 将数据发送到具有特定地址的特定套接字。

1.我连接到接入点。
2.然后打开一个套接字"SockID_OUT = sl_Socket (sl_AF_iNet、sl_sock_stream、0);"
然后连接到套接字"Status_OUT = SL_Connect (SockID_OUT、(SlSockAddr_t *)&Addr、AddrSize);"
4.然后命令"Status_Out = SL_Send (SockID_OUT、buf_sock_send、buf_sock_len_send、0);"将无限循环执行。

在该方案中、即使套接字已关闭且重复打开也无法恢复数据扩展、发送数据的器件仍会继续发送数据。

我们如何理解接收套接字"已死"?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Vladimir Kartavenko、

    1)
    CC3100一旦提供返回值、就可以立即执行下一条命令。 CC3100在向主机返回值后会继续运行、例如非阻塞套接字或 sl_Send、但在某些例外情况下、您可以在 SDK 中的 SimpleLink 主机驱动程序 API 文档(docs/simplelink_api/simplelink_api/程序员指南.html)中找到每个 API 的行为。

    sl_close 不受 sl_SO_nonblocking 选项的影响、因此 API 在返回后立即完成。

    当 sl_Start 返回当前活动角色(AP)时、接入点模式完成。

    建议芯片选择延迟较小、从而为 CC3100提供了查看信号变化的时间。 我们看到主机 MCU 具有一些延迟、这是一个用于了解这些潜在问题的调试步骤。

    2)
    使用 sl_accept 10秒后、您会看到什么值? 它是错误代码吗? 要进行验证,您是使用 sl_SetSockOpt ()设置 sl_SO_NONBLOCKOPTION,还是使用了具有默认阻塞套接字的计时器?

    我很难看到其他因中断而出现问题的地方。

    3)
    SL_Send 不会请求主机中断、因为它在主机驱动程序完成向网络处理器发送数据时返回。 然后、NWP 处理通过 TCP 发送此数据的问题、并且仅在主机传递异步事件 sl_socket_TX_FAILED_EVENT (由 SimpleLinkSockEventHandler 接收)时就 TCP 故障向其提供反馈。

    此致、
    Sarah