gpt4 book ai didi

c - 在 Pic32 中启用 DHCP

转载 作者:太空宇宙 更新时间:2023-11-04 02:54:35 24 4
gpt4 key购买 nike

如何在Pic32中启用DHCP?我正在尝试使用以下代码。我使用了 TCP/IP Stack v5.31,当此函数运行时,会出现我的默认 ip,但它始终保持不变

AppConfig.Flags.bIsDHCPEnabled = TRUE;
AppConfig.Flags.bInConfigMode = TRUE;
memcpypgm2ram((void*)&AppConfig.MyMACAddr, (ROM void*)SerializedMACAddress, sizeof(AppConfig.MyMACAddr));
AppConfig.MyIPAddr.Val = MY_DEFAULT_IP_ADDR_BYTE1 | MY_DEFAULT_IP_ADDR_BYTE2<<8ul | MY_DEFAULT_IP_ADDR_BYTE3<<16ul | MY_DEFAULT_IP_ADDR_BYTE4<<24ul;
AppConfig.DefaultIPAddr.Val = AppConfig.MyIPAddr.Val;
AppConfig.MyMask.Val = MY_DEFAULT_MASK_BYTE1 | MY_DEFAULT_MASK_BYTE2<<8ul | MY_DEFAULT_MASK_BYTE3<<16ul | MY_DEFAULT_MASK_BYTE4<<24ul;
AppConfig.DefaultMask.Val = AppConfig.MyMask.Val;
AppConfig.MyGateway.Val = MY_DEFAULT_GATE_BYTE1 | MY_DEFAULT_GATE_BYTE2<<8ul | MY_DEFAULT_GATE_BYTE3<<16ul | MY_DEFAULT_GATE_BYTE4<<24ul;
AppConfig.PrimaryDNSServer.Val = MY_DEFAULT_PRIMARY_DNS_BYTE1 | MY_DEFAULT_PRIMARY_DNS_BYTE2<<8ul | MY_DEFAULT_PRIMARY_DNS_BYTE3<<16ul | MY_DEFAULT_PRIMARY_DNS_BYTE4<<24ul;
AppConfig.SecondaryDNSServer.Val = MY_DEFAULT_SECONDARY_DNS_BYTE1 | MY_DEFAULT_SECONDARY_DNS_BYTE2<<8ul | MY_DEFAULT_SECONDARY_DNS_BYTE3<<16ul | MY_DEFAULT_SECONDARY_DNS_BYTE4<<24ul;

最佳答案

网络上是否有运行dhcp服务器的路由器?您正在处理 dhcp 请求和 dhcp 响应数据包吗?基本上,您的 PIC32 板应该能够在网络上发送 dhcp 发现数据包,然后 dhcp 响应应该来自服务器,之后应该有 dhcp 请求数据包和 ACK 数据包,请参见 rfc ,如果所有这些步骤都在执行,那么你应该成功获得了新的IP地址。如果不是,则应该发生超时并且应该保留静态 IP 地址

关于c - 在 Pic32 中启用 DHCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19004151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com