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.

[参考译文] CC3220SF:网络处理器状态(忙、空闲等)

Guru**** 2554750 points
Other Parts Discussed in Thread: CC3220SF

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/946449/cc3220sf-network-processor-state-busy-idle-etc

器件型号:CC3220SF

您好!  

我们在其中一款产品中使用 CC3220SF、我们使用 AWS FreeRTOS。 与云的通信模式是具有 QOS0的 MQTT。  

当我们尝试将数据发布到云多个数据包时,最后一个数据包会丢失一些时间。 这导致了问题。 我们使用 的是 IotMqt_Publish 函数。  

当我们使用 IotMqt_Publish 函数时,状态为 IOT_MQTT_SUCCESS,然后我们关闭连接并进入休眠状态, 假设我们在网络处理器仍在发送数据或即将发送数据时关闭连接。  

为了避免这种情况,有任何方法可以知道网络处理器的状态,数据仍在队列中,或者正在发送一些数据等。 ? 请告诉我。   

我们无法使用 QOS1、因为电池供电设备无法提供延迟。

谢谢、  

Harish   

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

    您好 Harish、

    如果套接字在关闭套接字之前未能传输所有排队的数据包、则应在 异步套接字处理程序中看到 SL_ERROR_BSD_ECLOSE 事件。 您是否收到了一个? 还有 SO_LINGER 套接字选项。

    如果您提供以下内容、我可以帮助进一步调试:

    1. 什么是 CC32xx SDK 版本?
    2. 哪些服务攻击版本刷写到 CC3220中?
    3. 您使用的是什么 AWS 或 MQTT 库?

    此致、

    Sarah

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

    您好、Sarah、  

    感谢您的快速回答、请在下面找到详细信息。 遗憾的是、在这种情况下、我们没有看到任何套接字错误、因此重现错误非常耗时。 由于您说套接字处有队列、我们能否读取队列大小、然后决定应用程序连接是否关闭。  

    主机控制器是否可以读取套接字队列的大小? 以便我们可以检查并断开连接。  

    SDK 版本:

    #define IOT SDK_VERSION  "4.0.0"  

    ServicePack 版本:

    简单链接为-> 2.10.004

    AWS MQTT 版本:  

    Amazon FreeRTOS MQTT v2.1.0

    Amazon FreeRTOS V201908.00

    谢谢、  

    Harish  

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

    您好 Harish、

    网络处理器管理自己的队列、因此应用程序无法访问它。 您可以将 SO_LINGER 选项与 SL_SetSockOpt ()一起使用、等待队列为空、然后再关闭套接字(或达到超时)。

    2.10.00.04是 SDK 版本。 您是否有刷写到串行闪存中的服务回写? 此服务 ack 位于 SDK 的 tools/cc32xx_tools/servicepack-cc3x20文件夹中、并使用 UniFlash ImageCreator 进行加载

    此致、

    Sarah