主题中讨论的其他器件: CC3220SF、
您好!
我正在尝试编写 SimpleLinkFatalErrorEventHandler()以处理致命错误。 但是、当我尝试按照建议 sl_Stop()和 slStart()重新启动器件时、两个函数都返回-2005。
在处理程序中调试 sl_Stop()时,调用
SL_DRV_LOCK_GLOBAL_LOCK_FOREVE_FOREVAL (GLOBAL_LOCK_FLAGS_NONE);
返回 SL_API_ABORTED 值、因为设置了 SL_IS _RESTK_REQUIRED 标志。
由于设置了相同的 sl_is_restart_required 标志,sl_Start()由于 verify_no_error_handling_in_progress()而返回相同的错误。
从相关问题中:
在 g_SlDeviceStatus 中设置_sl_DRV_STATUS_bit_RESTK_REQUIRED 位、并在 sl_stop ()中的_SlDrvDriverCBDeinit()中通过 sl_unset_restart_required 位进行清除。 但是、如果未设置 sl_is_device_started、sl_stop()不会在代码中达到如此远的位置–它会提早退出。 因此、如果我们进入!sl_in_device_started 和& sl_in_resstart_required 状态、则不能取消设置该标志–无需主机复位、从而清除该变量。
此错误出现在 sl_driver_version 2.0.1.26中。 似乎 sl_driver_version 3.0.1.41解决了 sl_stop 函数中更多逻辑的问题。
这个线程的解决方案是获得最新版本的固件、但我使用的是 sl_driver_version 3.0.1.46、我仍然遇到同样的问题。
请告诉我如何重置此标志、或者在不重置主机的情况下重置 CC3120MOD 和固件的过程是什么。
谢谢你。



