【发布时间】:2021-11-04 19:51:06
【问题描述】:
我一直在尝试找到一种解决方案,让 amazon-freertos 检测到 WIFI 网络关闭,以便我可以重新连接。我不得不说我还没有完全理解这一切应该如何运作。
从阅读看来,预期的方法是等待回调到 vApplicationIPNetworkEventHook,程序员应该在其中实现必要的重新连接。然而问题是这个回调函数不会被网络宕机事件调用,它只会被网络启动事件调用。
阅读 FreeRTOS 指南我看到,对于 vApplicationIPNetworkEventHook 要获得网络故障事件的回调,底层驱动程序必须首先告诉 TCPIP 堆栈此事件,并且继续说并非所有驱动程序都实现了这一点,所以我想我已经找到现在的问题。
我的问题是驱动程序应该如何通知 TCPIP 堆栈?驱动程序记录网络关闭事件(它并没有做更多的事情),所以我可以在那里添加一些代码来提醒 TCPIP 堆栈,但是应该怎么做呢?我找不到有关如何进行此更改的任何说明,非常感谢任何帮助或建议。
amazon-freertos:https://github.com/MicrochipTech/amazon-freertos MCU测试板:Microchip好奇心_pic32mzw1
补充一下,我认为这应该是实现它的地方(iot_wifi.c):
WIFIReturnCode_t WIFI_RegisterNetworkStateChangeEventCallback( IotNetworkStateChangeEventCallback_t xCallback )
{
/** Needs to implement dispatching network state change events **/
return eWiFiNotSupported;
}
问题是如何。
谢谢, 马库斯
【问题讨论】: