日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lwip接收文件 stm32_接收数据

發(fā)布時間:2024/10/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lwip接收文件 stm32_接收数据 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

參考火哥的lwip教程,還有 https://www.hexcode.cn/article/show/stm32-ethernet8

啊啊

增加了對lwip的初始化, LwIP_Init函數(shù)用于初始化 LwIP協(xié)議棧,一般在 main 函數(shù)中調(diào)用。首先是內(nèi)存相關初 始化,mem_init函數(shù)是動態(tài)內(nèi)存堆初始化,memp_init函數(shù)是存儲池初始化,LwIP是實現(xiàn) 內(nèi)存的高效利用,內(nèi)部需要不同形式的內(nèi)存管理模式。 還有就是對靜態(tài)ip地址,mac地址,掩碼,網(wǎng)關的設置。如下:

然后就是添加了ETH_CheckFrameReceived,檢測接收到數(shù)據(jù)包的函數(shù)。然后對數(shù)據(jù)包進行相應的處理。

LwIP_Pkt_Handle 函數(shù)用于從以太網(wǎng)存儲器讀取一個以太網(wǎng)幀并將其發(fā)送給 LwIP,它 在接收到以太網(wǎng)幀時被調(diào)用,它是直接調(diào)用 ethernetif_input 函數(shù)實現(xiàn)的,該函數(shù)定義在 ethernetif.c文件中。

接著是一個被無限循環(huán)調(diào)用的函數(shù):LwIP_Periodic_Handle

LwIP_Periodic_Handle 函數(shù)是一個必須被無限循環(huán)調(diào)用的 LwIP支持函數(shù),一般在 main函數(shù)的無限循環(huán)中調(diào)用,主要功能是為 LwIP各個模塊提供時間并查詢鏈路狀態(tài),該 函數(shù)有一個形參,用于指示當前時間,單位為 ms。 對于 TCP功能,每 250ms執(zhí)行一次 tcp_tmr函數(shù);對于 ARP(地址解析協(xié)議),每 5s 執(zhí) 行一次 etharp_tmr函數(shù);對于鏈路狀態(tài)檢測,每 1s 執(zhí)行一次 ETH_CheckLinkStatus 函數(shù); 對于 DHCP功能,每 500ms執(zhí)行一次 dhcp_fine_tmr函數(shù),如果 DHCP處于DHCP_START 或 DHCP_WAIT_ADDRESS 狀態(tài)就執(zhí)行 LwIP_DHCP_Process_Handle 函數(shù),對于 DHCP功 能,還有每 60s 執(zhí)行一次 dhcp_coarse_tmr函數(shù)。

然后用wireshark抓包的時候,比較奇怪。如下:

奇怪的地方就是,我初始化的時候只發(fā)送了上面的第二個數(shù)據(jù)包,也就是192.168.2.240的(使用DP83848Send(mydata, 60); 發(fā)送的),第一個數(shù)據(jù)包是192.168.1.122發(fā)的,這個我并沒有發(fā)送,按邏輯推算,這應該是 在 LwIP_Init(); 初始化ip,mac的時候發(fā)送的。而且兩個數(shù)據(jù)包都是請求包,也就是opcode=1。找了一下沒找到程序是在什么時候發(fā)送出去的。。

最后串口助手輸出如下:

也就是收到數(shù)據(jù)包了,可是并不知道收到了啥。

顯然,我這個程序設計得不合理,本來以為ping一下會觸發(fā)LwIP_Periodic_Handle 里的字符串打印函數(shù)的,結(jié)果想太多了。 沒錯,接著再設計一個程序,要把收到的數(shù)據(jù)包打印出來。

在局域網(wǎng)中ping 單片機ip的報文:

注意,這里ping是一個icmp報文,data里面基本就是26個字母。

然后

總結(jié)

以上是生活随笔為你收集整理的lwip接收文件 stm32_接收数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。