
本人自从大学时期就开始使用STM32单片机,从最原始的stm32f103到107再到如今的207,虽说是跨越了不同的芯片,但都还是cortex-m3系列的单片机,无非是外设和处理速度增加了而已,开发思路和103完全相同,没有什么特别的。下面来说说lwip的开发。3 c/ g9 c- E' q, c8 B% D: @ 1、硬件构成: 因为根据stm32F207datasheet中Alternate function mapping里面的描述, ![]() ![]() ![]() ![]() ![]() 可以知道以太网的连接管教,然后参考官方提供的“STM3220G-EVAL board”,stm32f207ZG的连接方法与评估板完全一致,可以设计stm32f207zg原理图,如下图所示" H* c% J+ d% a$ ?, M0 B2 o8 X ![]() 仍然采用处理器+DP83848的方式,DP83848原理图如下所示 ![]() 这样连接,就可以完成以太网已经的设计,这里需要说明一天,外界连接DP83848的四根数据线时,需要用一个带有网络变压器的网络头才能形成正常的通信,在此需要注意。 2、软件设计) I; ^1 X n6 u! S( L) F 软件设计可以参考“STM3220G-EVAL board”自带的stm32f2x7_eth_lwip.zip文件,里面有没有操作系统的TCP/IP和带有FreeRTOS操作系统的TCP/IP实现方法,可以将自己不需要的部分就地删除,预留自己需要的部分就行修改,针对main函数里面最开始的初始化无非就是! u' }8 v) ^& n( h' ?2 g6 [( ? ETH_BSP_Config();// configure ethernet (GPIOs,clocks,MAC,DMA) LwIP_Init();// Initilaize the LwIP stack 两个函数,一个是底层硬件驱动初始化,一个是协议栈的初始化,这两个函数完全不用修改即可以使用,然后我们就可以针对应用层进行设计了* ]0 @$ j6 }0 z8 M) R9 K 作为服务器时: W7 d' W% X" A ![]() 在tcp_echoserver_accept里面进行应用层设计即可。 最为客户端时:" _! ?2 G0 P1 M& } ![]() 在tcp_echoclient_connected里面进行应用层设计即可。8 I. k5 F4 v& l- K" ~ \ Y |
STM32硬件结构学习
stm32f207/stm32f407擦除内部flash讲解
【经验分享】STM32F2 中 DMA 的 FIFO 模式
STM32F2x7 通过以太网实现在应用中编程 (IAP)
STM32F2xx 微控制器中的 EEPROM 模拟
在 STM32 F0、 F2、 F3、 F4 和 L1 系列MCU 中使用硬件实时时钟 (RTC)
STM32F1xx、STM32F2xx、STM32F4xx、STM32L1xx、STM32F30/31/37/38x 定时器概览
使用 STM32F2xx 和 STM32F4xx 微控制器时如何提高 ADC 测量精度
使用 STM32F2 和 STM32F4 DMA 控制器
STM32F2x7 通过以太网实现在应用中编程 (IAP)
RE:STM32F207ZGT6处理器 LWIP以太网网络学习心得