91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32F407板子上搭建TCP Server及TFTP Server

STM32單片機 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-09-25 17:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開發(fā)平臺

STM32F407開發(fā)板(帶以太網(wǎng)),板子上的PHY為LAN8720A,沒有用到顯示屏全為串口輸出調試信息。

實現(xiàn)功能

通過STM32CubeMX在原子STM32F407板子上搭建TCP Server 及 TFTP Server ,實現(xiàn)這些功能非常簡單。

步驟

功能介紹、工程搭建、工程代碼、TFTP 服務器測試

1、TCP Server 實現(xiàn)顯示連接上的客戶端IP及對客戶端發(fā)來的數(shù)據(jù)回傳2、TFTP Server 實現(xiàn)IAP功能及讀取MCU內部FLASH數(shù)據(jù)。這里用到的是文件傳輸協(xié)議,主要是參考官方文檔UM1709,及官STM324xG_EVAL的LWIP IAP例子。

工程搭建

外設配置

打開STM32CubeMX,點NEW PROJECT,在左側的輸入框中輸入407ZG,在右側會顯示STM32F407ZGT6的MCU列表,選擇此列表,雙擊。設置時鐘源為外部時鐘開啟SWD調試接口,開啟ETH外設,選擇RMII接口(LAN8720A為RMII接口),中間件里時能LWIP。使用RMII接口的時候軟件會自動配置對應的引腳,但是一定要仔細對比軟件配置的引腳是否為板子上硬件所連接的。

原子F407板子上的LAN8720A的RMII接口引腳如下圖,

  1. 配置時鐘外部高速晶振選擇為8M,PLL SORCE MUX 選擇為HSE,在HCLK處輸入168點回車,軟件會自動配置好

  2. 中間件配置這里主要配置,ETH、LWIP、串口1、GPIO

  3. 生成工程代碼

    點左上角的Project,選擇Settings...(不建議直接點黃色的齒輪),點擊OK。再點右上方的黃色齒輪即可生成工程代碼。

工程代碼

1、TCP Server 的實現(xiàn)

看起來代碼很多,其實真的不復雜。

大致流程:先新建一個TCB_PCB、開始監(jiān)聽、掛載客戶端連接請求回調函數(shù)、掛載接收數(shù)據(jù)回調函數(shù)、掛載發(fā)送完成回調函數(shù)、掛載出錯回調函數(shù)、掛載心跳包回調函數(shù)、關閉連接等,最重要的是釋放內存!每收到一個數(shù)據(jù)鏈,它已經被申請了內存,所有在處理完這個數(shù)據(jù)后一定要釋放

2、TCP服務器測試用網(wǎng)絡調試助手連接TCP服務器(兩者必須在一個網(wǎng)關里面,192.168.000.XXX),網(wǎng)絡調試助手里選擇TCP客戶端,遠程主機IP為 192.168.0.120 , 端口號為7

詳細測試步驟請點擊閱讀原文下載。

通過測試,則表示TCP服務器已經完成。您也可以通過手機連接這個路由器的WIFI,通過 網(wǎng)絡調試助手APP來連接這個開發(fā)板的服務器,電腦可以通過 TCP客戶端與開發(fā)板的TCP服務器連接同時也可以用手機做TCP客戶端連接開發(fā)板的TCP服務器。

3、TFTP Server 的實現(xiàn)還是在上面的代碼上來實現(xiàn)此功能,即在TCP 服務器的代碼上實現(xiàn)TFTP 服務器。打開剛才STM32CubeMX工程,在原來的基礎上來配置LWIP。

因為是要通過TFTP 來實現(xiàn) IAP 功能 ,所有一定有FLASH 的操作,這里我們COPY官方例子里面的flash_if.c和flash_if.h

至此,TFTP服務器搭建完成,下載到開發(fā)板串口顯示如下信息:Start 開始監(jiān)聽 掛載客戶端連接回調函數(shù) TFTP初始化成功 Static IP address: 192.168.0.120可以通過上面的TCP服務器測試步驟來測試TCP服務器功能,正常測試,工作正常,ping也能

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    14

    文章

    10267

    瀏覽量

    91533
  • STM32
    +關注

    關注

    2310

    文章

    11166

    瀏覽量

    373575
  • TFT
    TFT
    +關注

    關注

    10

    文章

    410

    瀏覽量

    114691
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1425

    瀏覽量

    83549
  • STM32F4
    +關注

    關注

    3

    文章

    204

    瀏覽量

    30154

原文標題:基于STM32F407搭建TCP服務器及TFTP服務器

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RTL9301管理型交換機DHCP Server使用方法

    RTL9301管理型交換機DHCP Server使用方法
    的頭像 發(fā)表于 02-01 10:52 ?1323次閱讀
    RTL9301管理型交換機DHCP <b class='flag-5'>Server</b>使用方法

    使用NVIDIA Nemotron RAG和Microsoft SQL Server 2025構建高性能AI應用

    在 Microsoft Ignite 2025 大會上,隨著 Microsoft SQL Server 2025 的發(fā)布,AI 就緒型企業(yè)數(shù)據(jù)庫愿景成為現(xiàn)實,為開發(fā)者提供強大的新工具,例如內置向量
    的頭像 發(fā)表于 12-01 09:31 ?820次閱讀
    使用NVIDIA Nemotron RAG和Microsoft SQL <b class='flag-5'>Server</b> 2025構建高性能AI應用

    STM32F407的晶振選型分析

    STM32F407的最佳晶振選項
    的頭像 發(fā)表于 11-07 12:03 ?1324次閱讀

    飛凌嵌入式ElfBoard-常用的網(wǎng)絡服務的搭建TFTP服務搭建

    File Transfer Protocol,簡單文件傳輸協(xié)議),是TCP/IP協(xié)議族中用來在客戶機和服務器之間進行簡單文件傳輸?shù)膮f(xié)議,開銷很小。TFTP通常用于內核調試。在嵌入式Linux開發(fā)過程中,內核
    發(fā)表于 10-21 11:29

    與AI探討簡易示波器和頻譜儀

    對于追求性價比和足夠性能的入門到中級項目,STM32F407 是完全足夠且更具成本效益的選擇。
    的頭像 發(fā)表于 10-18 15:35 ?896次閱讀

    rtt5.0.0下lvgl在正點原子stm32f407探索者開發(fā)板V3mdk編譯報錯怎么解決?

    開發(fā)板為正點原子stm32f407探索者V3,在rtt5.0.0版本下加入lvgl及相應的lcd, touch驅動,其它什么功能也沒加,在mdk中編譯,報錯: Program Size: Code
    發(fā)表于 09-22 06:17

    在rt-thread4.0.2版本stm32f407硬件平臺上,使用reboot命令無法重啟,會讓系統(tǒng)死機的原因?

    我在rt-thread4.0.2版本stm32f407硬件平臺上,使用reboot命令無法重啟,會讓系統(tǒng)死機。 reboot命令默認是調用rt_hw_cpu_reset()
    發(fā)表于 09-12 06:08

    第九章 W55MH32 HTTP Server示例

    本文介紹了在 W55MH32?芯片實現(xiàn) HTTP Server?功能,并通過瀏覽器修改其網(wǎng)絡地址信息的方法。闡述了 HTTP?協(xié)議的概念、特點、應用場景、工作流程、請求方法、響應內容,以及 Web?頁面構成和交互方式。展示了在W55MH32
    的頭像 發(fā)表于 07-24 09:35 ?1157次閱讀
    第九章 W55MH32 HTTP <b class='flag-5'>Server</b>示例

    STM32F407的IO去驅動5V的外部拉電阻,請問VDD_FT的電壓范圍是多少?

    目前想用STM32F407的IO去驅動5V的外部拉電阻,看手冊5V容忍的VDD_FT且有保護二極管。 請問VDD_FT的電壓范圍是多少? 開漏輸出時,PA8口的拉電阻能否輸出5V? 謝謝!
    發(fā)表于 07-10 06:03

    WICED中使能TCP?;詈鬅o法disconnected怎么解決?

    開發(fā)環(huán)境 WICED,最新版本的SDK 芯片:CYW43907、使用freertos+lwip開發(fā) 描述:使用wiced_tcp_server_start開啟TCP服務器,然后注冊了連接和斷開的回調
    發(fā)表于 07-08 06:57

    數(shù)據(jù)庫數(shù)據(jù)恢復—SQL Server數(shù)據(jù)庫被加密如何恢復數(shù)據(jù)?

    SQL Server數(shù)據(jù)庫故障: SQL Server數(shù)據(jù)庫被加密,無法使用。 數(shù)據(jù)庫MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?693次閱讀
    數(shù)據(jù)庫數(shù)據(jù)恢復—SQL <b class='flag-5'>Server</b>數(shù)據(jù)庫被加密如何恢復數(shù)據(jù)?

    如何用FastMCP快速開發(fā)自己的MCP Server?

    的感受到了基于AI大模型和 MCP可以非常方便的構建自己的AI智能體工作流。在此基礎,不少讀者咨詢,如何將自己已有的工具或函數(shù),制作成MCP Server給AI大模型調用呢?本文從零開始介紹
    的頭像 發(fā)表于 05-07 16:07 ?2846次閱讀
    如何用FastMCP快速開發(fā)自己的MCP <b class='flag-5'>Server</b>?

    AD7768與STM32F407進行數(shù)據(jù)通信,SPI1讀取到的數(shù)據(jù)不完整,整體數(shù)據(jù)在字節(jié)出現(xiàn)偏移,怎么解決?

    我再做一個任務,需要使用STM32F407對AD7768的數(shù)據(jù)進行讀取,當然我們的AD采集速率要求不高,只需要2K。 我使用GPIO來模擬SPI對AD7768的寄存器進行配置讀取,使用硬件SPI1來
    發(fā)表于 04-24 06:40

    零基礎搭建基于STM32的M系列LoRa模塊透傳例程(

    ”和“下篇”,上篇為CubeMX代碼文件的生成,下篇為Keil代碼的移植。CubeMX生成HEL庫代碼文件本文使用的單片機型號為STM32F407VET6,打開Cu
    的頭像 發(fā)表于 03-20 19:33 ?879次閱讀
    零基礎<b class='flag-5'>搭建</b>基于<b class='flag-5'>STM32</b>的M系列LoRa模塊透傳例程(<b class='flag-5'>上</b>)

    求助,關于STM32F407 DMA NVIC設置的疑問求解

    采用STM32F407, DMA1 stream5(request: usart2_rx)DMA1 stream6(usart2_tx), USART2 global interrupt優(yōu)先級設置為
    發(fā)表于 03-13 08:09