实例介绍
【实例简介】
本实验所需器材:STM32F407开发板块,网线一根。
本实验将实现如下功能:用网线将开发板连接到路由器上,如果没有路由器的话按照我们开发手册中的方法连接到电脑上。
开机的时候将初始化LAN8720、LWIP协议栈等,LAN8720会自动与路由器或者电脑进行自协商,通过自协商确定连接速度
与双工状态。如果开启了DHCP的话开发板就会通过路由器获取IP地址,如果没有路由器的话只能使用静态IP地址,我们默认的静态
IP地址为:192.168.1.30,子网掩码:255.255.255.0,默认网关:192.168.1.1。当DHCP获取IP地址信息成功后就会在LCD上显示,
我们可以通过ping开发板的IP地址查看网络是否正常,如果通过DHCP获取IP地址失败的话就会自动使用默认的IP地址。
【实例截图】
【核心代码】
网络实验1 LWIP无操作系统移植
├── CORE
│ ├── core_cm4.h
│ ├── core_cm4_simd.h
│ ├── core_cmFunc.h
│ ├── core_cmInstr.h
│ └── startup_stm32f40_41xxx.s
├── FWLIB
│ ├── STM32F4x7_ETH_Driver
│ │ ├── inc
│ │ │ ├── stm32f4x7_eth.h
│ │ │ └── stm32f4x7_eth_conf.h
│ │ └── src
│ │ └── stm32f4x7_eth.c
│ └── STM32F4xx_StdPeriph_Driver
│ ├── inc
│ │ ├── misc.h
│ │ ├── stm32f4xx_adc.h
│ │ ├── stm32f4xx_can.h
│ │ ├── stm32f4xx_crc.h
│ │ ├── stm32f4xx_cryp.h
│ │ ├── stm32f4xx_dac.h
│ │ ├── stm32f4xx_dbgmcu.h
│ │ ├── stm32f4xx_dcmi.h
│ │ ├── stm32f4xx_dma.h
│ │ ├── stm32f4xx_dma2d.h
│ │ ├── stm32f4xx_exti.h
│ │ ├── stm32f4xx_flash.h
│ │ ├── stm32f4xx_flash_ramfunc.h
│ │ ├── stm32f4xx_fmc.h
│ │ ├── stm32f4xx_fsmc.h
│ │ ├── stm32f4xx_gpio.h
│ │ ├── stm32f4xx_hash.h
│ │ ├── stm32f4xx_i2c.h
│ │ ├── stm32f4xx_iwdg.h
│ │ ├── stm32f4xx_ltdc.h
│ │ ├── stm32f4xx_pwr.h
│ │ ├── stm32f4xx_rcc.h
│ │ ├── stm32f4xx_rng.h
│ │ ├── stm32f4xx_rtc.h
│ │ ├── stm32f4xx_sai.h
│ │ ├── stm32f4xx_sdio.h
│ │ ├── stm32f4xx_spi.h
│ │ ├── stm32f4xx_syscfg.h
│ │ ├── stm32f4xx_tim.h
│ │ ├── stm32f4xx_usart.h
│ │ └── stm32f4xx_wwdg.h
│ └── src
│ ├── misc.c
│ ├── stm32f4xx_adc.c
│ ├── stm32f4xx_can.c
│ ├── stm32f4xx_crc.c
│ ├── stm32f4xx_cryp.c
│ ├── stm32f4xx_cryp_aes.c
│ ├── stm32f4xx_cryp_des.c
│ ├── stm32f4xx_cryp_tdes.c
│ ├── stm32f4xx_dac.c
│ ├── stm32f4xx_dbgmcu.c
│ ├── stm32f4xx_dcmi.c
│ ├── stm32f4xx_dma.c
│ ├── stm32f4xx_dma2d.c
│ ├── stm32f4xx_exti.c
│ ├── stm32f4xx_flash.c
│ ├── stm32f4xx_flash_ramfunc.c
│ ├── stm32f4xx_fmc.c
│ ├── stm32f4xx_fsmc.c
│ ├── stm32f4xx_gpio.c
│ ├── stm32f4xx_hash.c
│ ├── stm32f4xx_hash_md5.c
│ ├── stm32f4xx_hash_sha1.c
│ ├── stm32f4xx_i2c.c
│ ├── stm32f4xx_iwdg.c
│ ├── stm32f4xx_ltdc.c
│ ├── stm32f4xx_pwr.c
│ ├── stm32f4xx_rcc.c
│ ├── stm32f4xx_rng.c
│ ├── stm32f4xx_rtc.c
│ ├── stm32f4xx_sai.c
│ ├── stm32f4xx_sdio.c
│ ├── stm32f4xx_spi.c
│ ├── stm32f4xx_syscfg.c
│ ├── stm32f4xx_tim.c
│ ├── stm32f4xx_usart.c
│ └── stm32f4xx_wwdg.c
├── HARDWARE
│ ├── ETHERNET
│ │ ├── lan8720.c
│ │ └── lan8720.h
│ ├── KEY
│ │ ├── key.c
│ │ └── key.h
│ ├── LCD
│ │ ├── FONT.H
│ │ ├── lcd.c
│ │ └── lcd.h
│ ├── LED
│ │ ├── led.c
│ │ └── led.h
│ ├── SRAM
│ │ ├── sram.c
│ │ └── sram.h
│ └── TIMER
│ ├── timer.c
│ └── timer.h
├── LWIP
│ ├── arch
│ │ ├── cc.h
│ │ ├── cpu.h
│ │ ├── perf.h
│ │ ├── sys_arch.c
│ │ └── sys_arch.h
│ ├── lwip-1.4.1
│ │ ├── CHANGELOG
│ │ ├── COPYING
│ │ ├── FILES
│ │ ├── README
│ │ ├── UPGRADING
│ │ ├── doc
│ │ │ ├── FILES
│ │ │ ├── contrib.txt
│ │ │ ├── rawapi.txt
│ │ │ ├── savannah.txt
│ │ │ ├── snmp_agent.txt
│ │ │ └── sys_arch.txt
│ │ ├── src
│ │ │ ├── FILES
│ │ │ ├── api
│ │ │ │ ├── api_lib.c
│ │ │ │ ├── api_msg.c
│ │ │ │ ├── err.c
│ │ │ │ ├── netbuf.c
│ │ │ │ ├── netdb.c
│ │ │ │ ├── netifapi.c
│ │ │ │ ├── sockets.c
│ │ │ │ └── tcpip.c
│ │ │ ├── core
│ │ │ │ ├── def.c
│ │ │ │ ├── dhcp.c
│ │ │ │ ├── dns.c
│ │ │ │ ├── init.c
│ │ │ │ ├── ipv4
│ │ │ │ │ ├── autoip.c
│ │ │ │ │ ├── icmp.c
│ │ │ │ │ ├── igmp.c
│ │ │ │ │ ├── inet.c
│ │ │ │ │ ├── inet_chksum.c
│ │ │ │ │ ├── ip.c
│ │ │ │ │ ├── ip_addr.c
│ │ │ │ │ └── ip_frag.c
│ │ │ │ ├── ipv6
│ │ │ │ │ ├── README
│ │ │ │ │ ├── icmp6.c
│ │ │ │ │ ├── inet6.c
│ │ │ │ │ ├── ip6.c
│ │ │ │ │ └── ip6_addr.c
│ │ │ │ ├── lwip_sys.c
│ │ │ │ ├── mem.c
│ │ │ │ ├── memp.c
│ │ │ │ ├── netif.c
│ │ │ │ ├── pbuf.c
│ │ │ │ ├── raw.c
│ │ │ │ ├── snmp
│ │ │ │ │ ├── asn1_dec.c
│ │ │ │ │ ├── asn1_enc.c
│ │ │ │ │ ├── mib2.c
│ │ │ │ │ ├── mib_structs.c
│ │ │ │ │ ├── msg_in.c
│ │ │ │ │ └── msg_out.c
│ │ │ │ ├── stats.c
│ │ │ │ ├── tcp.c
│ │ │ │ ├── tcp_in.c
│ │ │ │ ├── tcp_out.c
│ │ │ │ ├── timers.c
│ │ │ │ └── udp.c
│ │ │ ├── include
│ │ │ │ ├── ipv4
│ │ │ │ │ └── lwip
│ │ │ │ │ ├── autoip.h
│ │ │ │ │ ├── icmp.h
│ │ │ │ │ ├── igmp.h
│ │ │ │ │ ├── inet.h
│ │ │ │ │ ├── inet_chksum.h
│ │ │ │ │ ├── ip.h
│ │ │ │ │ ├── ip_addr.h
│ │ │ │ │ └── ip_frag.h
│ │ │ │ ├── ipv6
│ │ │ │ │ └── lwip
│ │ │ │ │ ├── icmp.h
│ │ │ │ │ ├── inet.h
│ │ │ │ │ ├── ip.h
│ │ │ │ │ └── ip_addr.h
│ │ │ │ ├── lwip
│ │ │ │ │ ├── api.h
│ │ │ │ │ ├── api_msg.h
│ │ │ │ │ ├── arch.h
│ │ │ │ │ ├── debug.h
│ │ │ │ │ ├── def.h
│ │ │ │ │ ├── dhcp.h
│ │ │ │ │ ├── dns.h
│ │ │ │ │ ├── err.h
│ │ │ │ │ ├── init.h
│ │ │ │ │ ├── lwip_sys.h
│ │ │ │ │ ├── mem.h
│ │ │ │ │ ├── memp.h
│ │ │ │ │ ├── memp_std.h
│ │ │ │ │ ├── netbuf.h
│ │ │ │ │ ├── netdb.h
│ │ │ │ │ ├── netif.h
│ │ │ │ │ ├── netifapi.h
│ │ │ │ │ ├── opt.h
│ │ │ │ │ ├── pbuf.h
│ │ │ │ │ ├── raw.h
│ │ │ │ │ ├── sio.h
│ │ │ │ │ ├── snmp.h
│ │ │ │ │ ├── snmp_asn1.h
│ │ │ │ │ ├── snmp_msg.h
│ │ │ │ │ ├── snmp_structs.h
│ │ │ │ │ ├── sockets.h
│ │ │ │ │ ├── stats.h
│ │ │ │ │ ├── tcp.h
│ │ │ │ │ ├── tcp_impl.h
│ │ │ │ │ ├── tcpip.h
│ │ │ │ │ ├── timers.h
│ │ │ │ │ └── udp.h
│ │ │ │ ├── netif
│ │ │ │ │ ├── etharp.h
│ │ │ │ │ ├── ethernetif.h
│ │ │ │ │ ├── ppp_oe.h
│ │ │ │ │ └── slipif.h
│ │ │ │ └── posix
│ │ │ │ ├── netdb.h
│ │ │ │ └── sys
│ │ │ │ └── socket.h
│ │ │ └── netif
│ │ │ ├── FILES
│ │ │ ├── etharp.c
│ │ │ ├── ethernetif.c
│ │ │ ├── ppp
│ │ │ │ ├── auth.c
│ │ │ │ ├── auth.h
│ │ │ │ ├── chap.c
│ │ │ │ ├── chap.h
│ │ │ │ ├── chpms.c
│ │ │ │ ├── chpms.h
│ │ │ │ ├── fsm.c
│ │ │ │ ├── fsm.h
│ │ │ │ ├── ipcp.c
│ │ │ │ ├── ipcp.h
│ │ │ │ ├── lcp.c
│ │ │ │ ├── lcp.h
│ │ │ │ ├── magic.c
│ │ │ │ ├── magic.h
│ │ │ │ ├── md5.c
│ │ │ │ ├── md5.h
│ │ │ │ ├── pap.c
│ │ │ │ ├── pap.h
│ │ │ │ ├── ppp.c
│ │ │ │ ├── ppp.h
│ │ │ │ ├── ppp_impl.h
│ │ │ │ ├── ppp_oe.c
│ │ │ │ ├── pppdebug.h
│ │ │ │ ├── randm.c
│ │ │ │ ├── randm.h
│ │ │ │ ├── vj.c
│ │ │ │ └── vj.h
│ │ │ └── slipif.c
│ │ └── test
│ │ └── unit
│ │ ├── core
│ │ │ ├── test_mem.c
│ │ │ └── test_mem.h
│ │ ├── etharp
│ │ │ ├── test_etharp.c
│ │ │ └── test_etharp.h
│ │ ├── lwip_check.h
│ │ ├── lwip_unittests.c
│ │ ├── lwipopts.h
│ │ ├── tcp
│ │ │ ├── tcp_helper.c
│ │ │ ├── tcp_helper.h
│ │ │ ├── test_tcp.c
│ │ │ ├── test_tcp.h
│ │ │ ├── test_tcp_oos.c
│ │ │ └── test_tcp_oos.h
│ │ └── udp
│ │ ├── test_udp.c
│ │ └── test_udp.h
│ └── lwip_app
│ └── lwip_comm
│ ├── lwip_comm.c
│ ├── lwip_comm.h
│ └── lwipopts.h
├── MALLOC
│ ├── malloc.c
│ └── malloc.h
├── OBJ
│ └── Template.hex
├── SYSTEM
│ ├── delay
│ │ ├── delay.c
│ │ └── delay.h
│ ├── sys
│ │ ├── sys.c
│ │ └── sys.h
│ └── usart
│ ├── usart.c
│ └── usart.h
├── USER
│ ├── JLinkSettings.ini
│ ├── Template.uvguix.Administrator
│ ├── Template.uvguix.ZZK
│ ├── Template.uvoptx
│ ├── Template.uvprojx
│ ├── main.c
│ ├── stm32f4xx.h
│ ├── stm32f4xx_conf.h
│ ├── stm32f4xx_it.c
│ ├── stm32f4xx_it.h
│ ├── system_stm32f4xx.c
│ └── system_stm32f4xx.h
├── USMART
│ ├── readme.txt
│ ├── usmart.c
│ ├── usmart.h
│ ├── usmart_config.c
│ ├── usmart_str.c
│ └── usmart_str.h
├── keilkilll.bat
└── readme.txt
52 directories, 276 files
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论