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.

[参考译文] CC3100:SL_Recv从不返回

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1098576/cc3100-sl_recv-never-returns

部件号:CC3100
主题中讨论的其他部件: CC3200MSP430F5529

您好,

我正在使用CC3100对附近的设备进行MAC地址探查。 在某些设备上调用SL_Recv时,它会无限期地滞留在SimpleLink驱动程序中,等待锁定对象。 对于我可能遗漏的内容有什么建议?

谢谢!
Doug Burrell

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

    我还应该补充一点,MAC嗅探应用程序与SimpleLink SDK 1.2 .0附带的收发器模式示例基本相同。

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

    您好,Doug,

    您是否使用最新版本的CC3100 SDK和Service Pack?  https://www.ti.com/tool/download/CC3200SDK 

    您在驱动程序中的哪个位置看到应用程序被卡住?

    您在某些设备上看到了这种情况,但并非所有设备都发生了这种情况--对吗?

    此致,

    杰西

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

    感谢您的回复Jesse。 我找到了SL_Recv卡住的问题,驱动程序中有一个错误,但它看起来在1.3 中已经修复了。0并且我也能够修补基于1.2 的本地版本。0以解决计时问题。 但是,当我修复时,我现在在运行"SL_Start"时收到驱动程序抛出的错误,错误是同步操作超时,这适用于所有设备,无论它们以前是否工作。 我应该提到,我正在调试一个5岁的应用程序,最近遇到了这些问题,编写代码的人不再在这里工作。 似乎问题一定与计时有关,但我再次感到非常惊讶,因为它是从收发器模式示例复制的...  

    您的链接用于CC3200 SDK,它是否兼容,是否用于CC3100?

    对于"SL_Start"函数为什么会遇到超时错误有任何建议?

    谢谢!
    Doug Burrell

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

    嘿Doug,

    我的错误是,我想链接到CC3100 SDK和Service Pack (https://www.ti.com/tool/CC3100SDK)。 您是否也在使用最新的Service Pack?

    您能否提供返回的特定错误代码SL_Start?

    此致,

    杰西

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

    Jesse您好,错误代码是SL_DEVICE_DRIVER_TIMEOUT_Async_event。 它抛出在"_SlDrvSyncObjWaitTimeout"中,该值从simplelink源文件夹中device.c的第146行调用。

    否,据我所知,仍在运行较旧的Service Pack。

    谢谢!
    Doug Burrell

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

    您好,Doug,

    感谢您提供更多信息。

    1. 您可以使用此处所述的步骤(https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/97.6711万/cc3100mod-sl_devget-does-not-get-the-info-correctly-after-the-servciepack-is-updated)3100)检查Service Pack,但请将最新的Service Pack刷新到CC3100。
    2. 为了修补SDK 1.2 版本,您对驱动程序做了哪些更改?  您是否可以完全更新到SDK v 1.3 ?
    3. 您的主机MCU使用什么?
    4. 您提到您的应用基于收发器模式示例。 您是否可以使用已知的工作示例(如收发器模式)测试您的主板?

    此致,

    杰西

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

    您好,Jesse:

    感谢您的额外建议。 我确认我们使用的是service pack 1.0。1.6 -2.7 .0.0。 我尝试升级到较新的版本,但代码已接近MCU上的闪存限制,因此下一个Service Pack没有足够的空间,因为它比当前版本大。

    在当前的SDK 1.2 中,我将"Nonos_wait_forever (Nonos_wait_forever)"更改为0xFFFFFF,以前是0xFF,但这会导致任何大于0xFF的超时被视为永远等待。 奇怪的是,当我作出这项更改时,工作板便停止工作。 必须存在一些实际需要较长等待时间的定时循环。

    我们使用的是MSP430F5529。

    我将把收发器模式示例代码与我们的代码进行比较,看看是否有明显的差异。 我们的产品还具有连接到WiFi接入点的功能,即使在不能进行MAC嗅探的主板上,该功能仍然有效。

    正如我所说的,我们的代码 和 硬件在5年内没有发生变化,但最近我们遇到了这些故障。 我们从TI获得的部件是新部件,但它们仍然是CC3100 R1芯片,因此这不是问题。 您是否听说过客户提供的CC3100芯片“坏”?

    谢谢!
    道格

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

    你好,Jesse,我已经解决了这个问题。 这是守则中的边际时机。  CC3100启用和设置到代码开始从CC3100读取之间的时间有时过长,导致锁定。 但通过减少此时间,现在代码可以在所有设备上正常工作。

    感谢您的帮助,

    Doug Burrell