以太网应用
时间:10-02
整理:3721RD
点击:
之前已经对原理图进行了分析,网络部分使用的芯片是LAN8720A,接口使用的是RMII的接口。
而要进行网络通信,还要用到LWIPTCP/IP 协议栈,而这些都可以在STM32CubeMX上进行配置。
使用 STM32CubeMX进行配置时,引脚默认并不与开发板上的一样,要手动再更改一下,如TX0与TX1是不一样的,开发板上用的是PG13与PG14.
ETH_RESET引脚则是通过PCF8574进行配置的,而PCF8574则是使用的I2C2,PH4、PH5两个引脚,前面已经说过了,不再赘述。
所以在使用网络功能时,也要对PCF8574进行初始化。
工程使用了DHCP,在接上网线后,会自动分配ip地址,不过也可以使用静态地址。
如下在lwipopts.h的宏定义中更改LWIP_DHCP
硬件上使用如下函数对LAN8720进行初始化。
u8 LAN8720_Init(void);
软件上使用如下函数对LWIP进行初始化。
lwip_comm_init();
如下,已经分配好了IP地址为192.168.0.10
分配好IP地址后,可以在电脑上ping一下开发板,可以ping通。
配置是加载了web的,直接输入开发板的IP地址,可以打开网页如下:
程序中是使能了CGI的,可以通过网页进行硬件上的操作,如下对LED与BEEP的控制。
除此之外,例程还支持三种网络应用。
TCP Server模式,TCP Client模式,UDP模式。
通过按键进行选择。
如下是UDP模式下的信息。
谢谢分享,学习学习。
你好,我最近也在用stm32f767igt6处理器,你有没有遇到过一个问题,和电脑进行ping时并不是每次都成功的