下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

最新资讯
简化任何设备的身份验证云连接。
利用 CoAP 设计节能型云连接 IoT 解决方案。
11.0.0 版 FreeRTOS 内核简介:
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。
注意:此 API 已从 FreeRTOS V4.0.0 起弃用 。请参阅 xApplicationDHCPHook_Multi 了解支持 IPv6、多个端点和多个接口的新 API。如需使用已弃用的 API ,请将 FreeRTOSIPConfig.h 头文件中的 ipconfigIPv4_BACKWARD_COMPATIBLE 设置为 1。

xApplicationDHCPHook()

[FreeRTOS-Plus-TCP API 引用]

FreeRTOS_sockets.h

注意:仅当 ipconfigUSE_DHCP_HOOK 在 FreeRTOSIPConfig.h 文件中设置为 1 时才需要定义此钩子。

eDHCPCallbackAnswer_t xApplicationDHCPHook( eDHCPCallbackPhase_t eDHCPPhase,uint32_t ulIPAddress );
        

xApplicationDHCPHook 是由 FreeRTOS-Plus-TCP 堆栈调用的钩子(或称回调)函数,用于 检查是否应发送 DHCP “发现”和“请求”消息以完成获取动态 IP 地址的流程, 或检查设备是否使用了默认静态 IP。

回调函数由应用程序编写器实现,但由 TCP/IP 堆栈调用。回调函数的原型 必须与上面的原型完全匹配(包括函数名称)。应用程序钩子中的代码不应调用正被阻塞的 FreeRTOS-Plus-TCP API 。这样很容易导致死锁。

当应用程序钩子执行时,会借用任务优先级和 IP 任务堆栈。因此,我们建议您保持应用程序钩子的简短性——它可能需要唤醒一些负责执行进一步处理的应用程序任务。

参数:

eDHCPPhase  

当 TCP 堆栈将分别发送一条“请求”或“发现”消息时,此参数可以为 eDHCPPhasePreRequest 或 eDHCPPhasePreDiscover 。

ulIPAddress  

当参数 eDHCPPhase 为 eDHCPPhasePreDiscover 时,此参数将包含默认 IP 地址, 否则(当 eDHCPPhase 为 eDHCPPhasePreRequest 时),此参数将包含由 DHCP 服务器提供的 IP 地址。

返回值:

返回值可为以下枚举值:

  • 如果应用程序想要继续 DHCP 事务,返回 eDHCPContinue
  • 如果应用程序想要使用默认网络参数,返回 eDHCPUseDefaults
  • 在必须中止 DHCP 进程且所有网络参数保持不变的情况下,返回 eDHCPStopNoChanges

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.