微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 以太网应用

以太网应用

时间: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时并不是每次都成功的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top