查看: 1535|回复: 1

[已解决] LPC54608开发板UDP,PC端IP地址是否可以先不初始化?

[复制链接]

该用户从未签到

61

主题

233

帖子

7

高级会员

Rank: 4

积分
750
最后登录
2021-1-25
发表于 2018-4-10 16:34:46 | 显示全部楼层 |阅读模式
参考例程:SDK_2.2_LPC54608J512\boards\lpcxpresso54608\demo_apps\lwip\lwip_udpecho开发板:OM13092
这个例子里PC端IP地址跟MCU端IP地址都是先宏定义好了,初始化的时候写进去的。
/* MCU端IP地址. */
#define configIP_ADDR0 192
#define configIP_ADDR1 168
#define configIP_ADDR2 0
#define configIP_ADDR3 102

/* PC端IP地址 */
#define configGW_ADDR0 192
#define configGW_ADDR1 168
#define configGW_ADDR2 0
#define configGW_ADDR3 100
初始化函数里执行了以下两句话,将两个IP加入到netif
    IP4_ADDR(&fsl_netif0_ipaddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3);
    IP4_ADDR(&fsl_netif0_gw, configGW_ADDR0, configGW_ADDR1, configGW_ADDR2, configGW_ADDR3);

这个实验就必须要修改我PC的IP地址为192.168.0.100,同时MCU这边的IP地址也是固定的192.168.0.102
请问,如果我不想修改PC的IP地址,测试时PC先通过网络助手发一个消息或者数据到开发板,开发板收到消息就会获取PC的IP地址,然后绑定该IP
static void udpecho_raw_recv(void *arg, struct udp_pcb *upcb, struct pbuf *p,
                                   const ip_addr_t *addr, u16_t port)
{

         LWIP_UNUSED_ARG(arg);
if (p != NULL)
                {
  //获取PC端IP
                uint8_t iptab[4];
                iptab[0] = (uint8_t)((uint32_t)(addr->addr) >> 24);
                iptab[1] = (uint8_t)((uint32_t)(addr->addr) >> 16);
                iptab[2] = (uint8_t)((uint32_t)(addr->addr) >> 8);
              iptab[3] = (uint8_t)((uint32_t)(addr->addr));

           udp_sendto(upcb, p, addr, port);
    /* free the pbuf */
         pbuf_free(p);
}
}
同时,MCU的IP地址也不想固定死,也想后期通过上位机进行修改。
我的疑问是:我也试过在初始化时不执行以下函数,也就是不初始化PC端的IP地址,等PC发完数据获取到IP地址后再执行,但是这样网络就无法连通,数据发不下来,无法获取IP,请问该如何做?
    IP4_ADDR(&fsl_netif0_gw, configGW_ADDR0, configGW_ADDR1, configGW_ADDR2, configGW_ADDR3);       




最佳答案

首先,你说的目的,完全都是可行的,需要使用到DHCP协议,才可以实现动态IP地址分配的功能,否则,只能提前设定好,关于DHCP协议,请自行百度或谷歌一下 ...
回复

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20190
最后登录
2024-5-9
发表于 2018-4-11 16:35:44 | 显示全部楼层
首先,你说的目的,完全都是可行的,需要使用到DHCP协议,才可以实现动态IP地址分配的功能,否则,只能提前设定好,关于DHCP协议,请自行百度或谷歌一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-5-10 03:24 , Processed in 0.139489 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表