lwip協議是廣泛用于嵌入式設備的網絡通信協議,通過rt-thread studio(簡稱rts)可方便快速的實現網絡收發功能
硬件:stm32f407zgt6核心板,lan8720a(rmii接口)模塊(淘寶很多)
軟件:rts,cubemax
調試方式:st-link swd接口
實現目標:實現上位機與單片機的互ping成功,注意,本文需要一定硬件和軟件動手能力,沒有基礎的同學可以先學習一下基礎的知識,本文中部分基礎操作的內容不詳細說明。
實現步驟:
一、硬件連接:使用杜邦線進行引腳連接,具體引腳對于關系可打開cubmax的rmii接口進行查詢,圖2是stm32f407zgt6的引腳對于關系,使用杜邦線進行連接即可。
圖1:硬件連接示意
圖2:引腳對應關系,可在cubemax中打開rmii接口的界面查詢
二、使用rts創建基于芯片的工程,版本選擇rtt標準版,通信串口選擇uart6(PC6,PC7),當然也可以自定義,下載選擇st-link,swd接口,您可以根據自己的現有硬件設備進行選擇。
圖3:創建工程
圖4:編譯并下載,打開調試串口循環輸出此內容表示工程創建成功
三、打開ETH功能:通過rts打開cubemax,并進行以下操作,
1、選擇左側Conectivity下的ETH,選擇Mode為RMII
圖5:打開RMII接口
2、重新設置時鐘樹,本文使用默認內部時鐘進行測試,不修改時鐘樹,點擊重置時鐘配置(reset clock configuration)即可
圖6:重置時鐘
3、點擊generate code 生成項目代碼,然后關閉cubemax,使修改信息同步至rts,出現以下內容,說明同步成功。可點擊編譯若編譯通過則說明操作無誤。
圖7:cubemax配置硬件rmii成功
四:打開rts網絡功能和lwip功能
1、打開Rt-thread Settings 選擇 選擇組件中的lwip使之變為彩色(圖8)
圖8:打開lwip
2、點擊配置項,進行配置lwip,圖9中四個標紅開關打開即可,若是電腦直連模式,請關閉DCHP選項并配置靜態IP。
圖9:配置LWIP
3、使能ETH功能,打開board.h文件,打開ETH功能,編譯并下載,會出現圖11的錯誤,缺少phy_reset函數。
圖10:使能ETH功能
圖11:報錯缺少phy_reset函數
4、點擊錯誤行跳轉至錯誤文件drv_eth.c,在頂部新增以下代碼,具體代碼因芯片不同,可在rts安裝路徑下的'repoExtractRT-Thread_Source_CodeRT-Threadlts-v3.1.5bspstm32'文件夾中對應芯片下搜索phy_reset.c文件查看
#define RESET_IO GET_PIN(D, 3)
void phy_reset(void){
rt_pin_write(RESET_IO, PIN_LOW);
rt_thread_mdelay(50);
rt_pin_write(RESET_IO, PIN_HIGH);
}
五:完成以上步驟后編譯工程,顯示編譯通過,下載至芯片后打開串口 顯示圖12則說明程序運行正常。msh輸入list_device明顯可以看到e0硬件已開啟(圖13),輸入ifconfig可顯示網卡的靜態IP信息(圖14)
圖12:lwip協議啟動成功
圖13:以太網硬件已加載
圖14:以太網靜態IP配置成功
六,測試:上位機電腦配置網絡與單片機在同一網段 互ping結果如下,說明工程網絡模塊運行正常,撰文不易,點個贊吧O(∩_∩)O
圖15:單片機ping上位機電腦成功
圖16:上位機電腦ping單片機成功
上一篇:推挽輸出和開漏輸出
下一篇:玩轉 ESP32 + Arduino (二) ESP32及arduino理論知識
推薦閱讀最新更新時間:2025-04-04 10:29



設計資源 培訓 開發板 精華推薦
- DER-583 - 106W 高線輸入非PFC CV/CC反激式充電器電源
- LT1767EMS8E 雙路輸出 SEPIC 轉換器的典型應用電路
- LTC1261LIMS8 1mV 紋波、5V 輸入、-4V 輸出 GaAs FET 偏置發生器的典型應用電路
- LTC3727EG-1 8.5V/3A、5V/5A 降壓型穩壓器的典型應用電路
- LTC3119EUFD 3.3V、1.5MHz 寬輸入穩壓器的典型應用電路
- 【訓練營】物聯網RGB燈+5v燈帶接口--836140A
- 最丐數字鍵盤PRO(原CH552G機械鍵盤)
- 4*4*4 rgb 光立方
- DER-484 - 300 W 正向電源
- 用于高輸出電流短路保護的 L78L12AB 正電壓穩壓器的典型應用
- ST有獎直播報名|介紹CAN總線特別在汽車應用及保護器件的重要性
- 來聊聊你與MP3的情緣吧!——MP3播放板等你拿
- VISHAY醫療主題月 幸運闖關贏大獎!
- 技術直播:TI 60G毫米波傳感器概述和應用介紹,種草封裝了天線的智能傳感器IWR6843
- MPS 隔離式穩壓 DCDC 模塊——MIE系列,小且不凡!痛點討論|你理想中的電源模塊是怎樣的?
- “玄鐵杯”第三屆RISC-V應用創新大賽—國產高性能RISC-V Linux開發板LicheePi 4A報名專場,萬元獎金,邀您奔赴開源設計盛宴
- 電工也瘋狂!玩游戲,曬得分,贏4G U盤!
- 【EEWORLD第三十二屆】2011年11月社區明星人物揭曉!
- 報名直播贏【手環、攝像頭、雨傘、手機支架】羅德與施瓦茨USB 3.2一致性測試