在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例嵌入式开发 → 正点原子例程:网络通信实验

正点原子例程:网络通信实验

嵌入式开发

下载此实例
  • 开发语言:C/C++
  • 实例大小:2.05M
  • 下载次数:1
  • 浏览次数:10
  • 发布时间:2021-09-10
  • 实例类别:嵌入式开发
  • 发 布 人:laiji
  • 文件格式:.rar
  • 所需积分:2
 相关标签: 例程

实例介绍

【实例简介】正点原子LWIP例程,里面加入了DHCP
【实例截图】

【核心代码】

实验器材:
战舰STM32F103开发板V3版本

实验目的:
学习DM9000的使用,利用STM32的FSMC驱动DM9000,并结合LWIP,学习网络通信.

硬件资源:
1,DS0(连接在PB5)
2,串口1(波特率:115200,PA9/PA10连接在板载USB转串口芯片CH340上面)
3,ALIENTEK 2.8/3.5/4.3/7寸TFTLCD模块(通过FSMC驱动,FSMC_NE4接LCD片选/A10接RS)
4,按键KEY0(PE4)/KEY1(PE3)/KEY2(PE2)/KEY_UP(PA0,也称之为WK_UP)
5,DM9000(通过FSMC驱动,FSMC_NE2接DM9000) 

实验现象:
    开机后,程序初始化LWIP,包括:初始化DM9000、申请内存、开启DHCP服务、添加并打开网卡,然后等待
DHCP获取IP成功,当DHCP获取成功后,将在LCD屏幕上显示DHCP得到的IP地址,如果DHCP获取失败,那么将
使用静态IP(固定为:192.168.1.30),然后开启Web Server服务,并进入主循环,等待按键输入选择需要
测试的功能:
    KEY0按键,用于选择TCP Server测试功能。
    KEY1按键,用于选择TCP Client测试功能
    KEY2按键,用于选择UDP测试功能 
   
    TCP Server测试的时候,直接使用DHCP获取到的IP(DHCP失败,则使用静态IP)作为服务器地址,端口号固定
为:8088。在电脑端,可以使用网络调试助手(TCP Client模式)连接开发板,连接成功后,屏幕显示连接上
的Client的IP地址,此时便可以互相发送数据了。按KEY0发送数据给电脑,电脑端发送过来的数据将会显示在
LCD屏幕上。按KEY_UP可以退出TCP Server测试。
    
    TCP Client测试的时候,先通过KEY0/KEY2来设置远端IP地址(Server的IP),端口号固定为:8087。设置好
之后哦,通过KEY_UP确认,随后,开发板会不断尝试连接到所设置的远端IP地址(端口:8087),此时我们需
要在电脑端使用网络调试助手(TCP Server模式),设置端口为:8087,开启TCP Server服务,等待开发板连接。
当连接成功后,测试方法同TCP Server测试的方法一样。
 
    UDP测试的时候,同TCP Client测试几乎一模一样,先通过KEY0/KEY2设置远端IP地址(电脑端的IP),端口号
固定为:8089,然后按KEY_UP确认。电脑端使用网络调试助手(UDP模式),设置端口为:8089,开启UDP服务。
不过对于UDP通信,我们得先按开发板KEY0,发送一次数据给电脑,随后才可以电脑发送数据给开发板,实现数
据互发。按KEY_UP可以退出UDP测试。

    Web Server的测试相对简单,只需要在浏览器端输入开发板的IP地址(DHCP获取到的IP地址或者DHCP失败时使用
的静态IP地址),即可登录一个Web界面,在Web界面,可以实现对DS1(LED1)的控制、蜂鸣器的控制、查看ADC1
通道5的值、内部温度传感器温度值以及查看RTC时间和日期等。

DS0用于提示程序正在运行。

标签: 例程

实例下载地址

正点原子例程:网络通信实验

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警