freertos - FreeRTOS Wifi 关闭事件不调用 vApplicationIPNetworkEventHook
问题描述
我一直在尝试找到一种解决方案,让 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;
}
问题是如何。
谢谢,马库斯
解决方案
您可以使用 eNetworkDown 作为参数添加对vApplicationIPNetworkEventHook () 的调用。
推荐阅读
- aws-lambda - 如何使用 CloudFormation 添加订阅过滤器?
- maven - 如何在 Flutter 中使用 Maven 运行 Android 应用程序?
- python - 无法使用特定用户从 python 连接到 SQL Server
- c# - 如何在我的管道中使用 TFS 发布任务远程执行始终运行的 Windows 控制台应用程序 (.exe)?
- python - 是否有与 Raku 的 dd 等效的 Python(即“小数据转储器”)?
- node.js - 返回 node-postgres 查询的结果
- firebase - “错误:给定的登录提供程序已为 Firebase 项目禁用。” 但我启用了 Firebase Google 身份验证
- reactjs - react-pdf cors 到 gcp 存储
- powerbi - 如何将一个表中的列移动到power bi中的另一个表?
- python-3.x - 如何合并具有不同长度和索引的两个 DataFrame 是另一个的子集,但它们的数据类型不同?