OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5019|回复: 9

关于探索者网络例程的两个问题请教

[复制链接]

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2014-5-16
在线时间
8 小时
发表于 2014-12-28 10:59:08 | 显示全部楼层 |阅读模式
5金钱

最近购买了探索者开发板,在进行网络试验的时候碰到两个问题,向大家请教。我使用的是RAW_UDP例程。


问题1:如何关闭DHCP?

我想直接使用静态地址,不希望每次都重新获取IP,可是在lwipopts.h文件中注释掉LWIP_DHCP或将其定义修改为0以后都不能正确的接收和发送数据。我已经在main函数中添加了设置IP的语句。


[mw_shl_code=c,true]lwipdev.ip[0] = 192; lwipdev.ip[1] = 168; lwipdev.ip[2] = 1; lwipdev.ip[3] = 11; lwipdev.netmask[0] = 255; lwipdev.netmask[1] = 255; lwipdev.netmask[2] = 255; lwipdev.netmask[3] = 0; lwipdev.gateway[0] = 192; lwipdev.gateway[1] = 168; lwipdev.gateway[2] = 1; lwipdev.gateway[3] = 1; lwipdev.remoteip[0] = 192; lwipdev.remoteip[1] = 168; lwipdev.remoteip[2] = 1; lwipdev.remoteip[3] = 10; [/mw_shl_code]


问题2:如何一开始就发送UDP?

似乎每次发送数据前都需要先接收一次电脑发出的UDP包,否则就不能正确发送数据。且一段时间后(约1分钟吧)就又不能发送了,又得再次接收一下电脑发出的UDP包。不知道是不是什么地方还需要进行设置?


最佳答案

查看完整内容[请看2#楼]

1、将LWIP_UDP的宏定义改为0,代表关闭LWIP的UDP功能,这样你的UDP实验又怎么能够成功?,不用DHCP的话将宏LWIP_DHCP定义为0就关闭了DHCP功能。 2、UDP例程不需要接收电脑端发送来的数据以后才可以发送数据,你一上电就可以发送了,我们通过按键来控制发送,你好好看一下我们的代码和手册,一定要看懂按键发送数据的原理。那个很简单的,手册里面也有很详细的讲解。 3、仔细阅读我们的LWIP开发手册,也就是3楼给你看的这个文档。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2014-12-28 10:59:09 | 显示全部楼层
1、将LWIP_UDP的宏定义改为0,代表关闭LWIP的UDP功能,这样你的UDP实验又怎么能够成功?,不用DHCP的话将宏LWIP_DHCP定义为0就关闭了DHCP功能。
2、UDP例程不需要接收电脑端发送来的数据以后才可以发送数据,你一上电就可以发送了,我们通过按键来控制发送,你好好看一下我们的代码和手册,一定要看懂按键发送数据的原理。那个很简单的,手册里面也有很详细的讲解。
3、仔细阅读我们的LWIP开发手册,也就是3楼给你看的这个文档。
开往春天的手扶拖拉机
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11560
金钱
11560
注册时间
2013-3-8
在线时间
1233 小时
发表于 2014-12-28 11:04:44 | 显示全部楼层
你好好看看<STM32F4 LWIP开发手册.pdf>这个手册。上面讲的很详细的!
两个问题都能很好解决!
回复

使用道具 举报

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2014-5-16
在线时间
8 小时
 楼主| 发表于 2014-12-28 11:34:06 | 显示全部楼层
回复【2楼】augustedward:
---------------------------------
谢谢1楼,我再去看看。能不能给点提示?这样我也能看得快点。
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11560
金钱
11560
注册时间
2013-3-8
在线时间
1233 小时
发表于 2014-12-28 13:32:06 | 显示全部楼层
 回复【3楼】 hefei2 :
---------------------------------
这个开发手册讲的很详细,关于UDP客户


回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11560
金钱
11560
注册时间
2013-3-8
在线时间
1233 小时
发表于 2014-12-28 13:34:57 | 显示全部楼层
回复【3楼】hefei2:
---------------------------------
找到 #define LWIP_DHCP   1
这一项。
把后面的1改为0,再编译后,就不用DHCP了!
回复

使用道具 举报

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2014-5-16
在线时间
8 小时
 楼主| 发表于 2014-12-28 15:15:24 | 显示全部楼层
回复【5楼】augustedward:
---------------------------------
不好意思,我发帖的时候写错了,不是把LWIP_UDP改成0,是将LWIP_DHCP改为0了。
将LWIP_DHCP改成0以后就发不出数据了。
回复

使用道具 举报

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2014-5-16
在线时间
8 小时
 楼主| 发表于 2014-12-28 15:19:01 | 显示全部楼层
回复【6楼】zuozhongkai:
---------------------------------
是我发帖的时候误把LWIP_DHCP写成LWIP_UDP了,代码中将LWIP_DHCP改成0以后就电脑就接收不到UDP包了。
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2014-12-28 17:04:29 | 显示全部楼层
没问题的啊,看一下你的局域网内是否有其他电脑也是192.168.1.30的IP地址
开往春天的手扶拖拉机
回复

使用道具 举报

12

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2016-1-3
在线时间
57 小时
发表于 2017-7-24 11:25:34 | 显示全部楼层
你还可有通过定时器定时发送
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-12-23 07:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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