STM32CubeMX + LWIP---無操作系統以太網實現


硬件平台:正點原子阿波羅F429

軟件工具:STM32CubeMX 5.6.0

開發IDE: SW4STM32

參考博客:https://blog.csdn.net/u013809244/article/details/103770782

參考文檔:正點原子的STM32F429 LWIP 開發手冊 V1.0

首先需要了解下STM32F429的以太網框圖如下,STM32F429內部集成了MAC控制器,支持MII,RMII接口與外部PHY芯片連接

並且支持SMI(MDIO&MDC)接口配置外部以太網PHY芯片,正點原子阿波羅F429開發板上使用的PHY是LAN8720A

 硬件連接圖如下:

 

 

 在開始實現以太網通信前,首先了解下Ethernet中的MAC,PHY,MII/RMII相關知識,如果想了解更多相關

點擊 Ethernet相關  

 

再看一下LAN8720A與STM32F429開發板的連接,原理圖如下:

 從上圖可以看出,LAN8720A總共通過10跟線同STM32F429連接,注意:ETH_MDIO和USART2_TX共用、RMII_TX_EN和USART3_RX共用,

所以他們不能同時使用,使用時需要注意這個問題。另外LAN8720A的ETH_RESET腳是連接在PCF8574的P7上面的(經過Q1取反),所以,

使用網絡功能的時候,必須配置PCF8574對ETH_RESET進行控制,才可以正常運行。

STM32CUBEMX配置以太網

 

由於STM32CUBEMX內集成LWIP(TCP/IP協議棧),就不需要我們進行復雜的移植,只需簡單的配置。

1)配置RCC,外部晶振25MHZ

 

 

 2)配置SYS

 

 

 3)配置USART1進行printf打印調試信息

 

 

 4)以太網配置

 

 

 

 

 

 

 

 

 代碼部分請參考: https://blog.csdn.net/u013809244/article/details/103770782

測試開發板以獲取動態IP如下

 我使用的是路由器動態分配IP。通過ping命令(ICMP)測試是否聯通。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM