国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

如何利用HAL庫去驅動W5500芯片呢

工程師鄧生 ? 來源:嵌入式技術開發 ? 作者:Mr張工 ? 2022-09-16 18:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

W5500 芯片是一款集成全硬件 TCP/IP 協議棧的嵌入式以太網控制器,為單片機提供了更加簡單、快速、穩定、安全的以太網接入方案。采用標準4線SPI接口,理論速率上可以達到 80MHz。

硬件設計

原理圖如下,需要注意的是R12~R17幾個電阻是模式選擇,根據實際需求選擇焊接哪些。

58ffed06-3571-11ed-ba43-dac502259ad0.png

芯片采樣SPI接口與單片機連接,再加上INT和RST引腳,共占用6個IO,其中INT引腳可以不用,RST一般需要連接。

網口可以使用帶網絡變壓器的接口,或者網絡變壓器和接口獨立的,都可以,這里使用的HR911105A是帶網絡變壓器的。、

軟件設計

W5500官方提供了一個完整的驅動庫,可以使用戶不必太關心底層寄存器的配置,使用起來非常方便。

接下來,使用STM32CubeMx軟件初始化配置,主要是SPI配置如下:

594fbde0-3571-11ed-ba43-dac502259ad0.png

配置完成后,生成代碼。然后將官方的驅動庫添加到工程中。

下載完成后,可以看到,驅動庫中包含了W5100、W5200等多個芯片的驅動:

596fccfc-3571-11ed-ba43-dac502259ad0.png

我們只需將W5500文件夾下的.c文件以及socket.c和wizchip_conf.c文件添加到工程中即可。如下:

598ef370-3571-11ed-ba43-dac502259ad0.png

打開wizchip_conf.c文件,可以看到,里面定義了一些SPI片選及讀寫的函數,但內容都是空的,這些是需要我們自己實現的。我們直接添加如下程序到文件中,實現芯片的復位和參數初始化功能。


pYYBAGMkSwWAH191AAEBFxs1WNg372.jpgpYYBAGMkSw-AS9zgAAFwKgEA0e8246.jpg

其中,W5500_ChipInit初始化函數中注冊的SPI相關函數定義如下:

pYYBAGMkSxyAbDkYAADTME3RNII985.jpgpYYBAGMkSzOAVMR6AAAeWD6ULqM888.jpg

添加完成后,直接在主函數中調用W5500_ChipInit();即可完成初始化。初始化完成后,可以實現TCP、UDP等的通訊,以TCP客戶端程序為例,程序如下。程序比較簡單,就不做詳細分析了。

poYBAGMkS1OASYYyAAELPk3YZI8281.jpgpYYBAGMkS1qAeg_DAAAsu5R9GLc523.jpg

另外,官網還有很多其它應用的例程可供參考,非常實用:

59a45300-3571-11ed-ba43-dac502259ad0.png

總結

對于大多數內部沒有以太網控制器的單片機來說,W5500是個很不錯的選擇。即使是帶有以太網控制器的單片機,如STM32F407系列,也需要外部的PHY芯片才行,而且占用IO多,還需要移植軟件協議棧,軟件上更復雜一些。

審核編輯:劉清

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

    關注

    41

    文章

    3747

    瀏覽量

    133621
  • 以太網控制器

    關注

    0

    文章

    52

    瀏覽量

    13184
  • W5500
    +關注

    關注

    5

    文章

    46

    瀏覽量

    18660

原文標題:STM32使用HAL庫驅動W5500

文章出處:【微信號:嵌入式技術開發,微信公眾號:嵌入式技術開發】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    零知IDE——基于STM32與W5500的UDP通信實現溫濕度監控

    資源整合網絡調試助手和上位機程序: W5500數據手冊: W5500以太網文件: Ethernet_STM
    發表于 02-28 16:08

    零知IDE——基于STM32與W5500的UDP通信實現溫濕度監控

    本文詳細介紹了一個基于零知增強板(STM32F407VET6)和W5500以太網模塊的UDP通信溫濕度監控系統。系統通過DHT11傳感器采集數據,通過W5500實現UDP通信,支持遠程LED控制
    的頭像 發表于 02-28 15:26 ?1470次閱讀
    零知IDE——基于STM32與<b class='flag-5'>W5500</b>的UDP通信實現溫濕度監控

    《機智云Gokit3開發篇》4 RGB燈的介紹與驅動移植(HAL

    的色彩控制能力。本文聚焦Gokit3開發板(MCU模式,主控STM32F103C8T6),以HAL為開發基礎,從P9813驅動芯片的工作原理入手,系統講解RGB燈的
    的頭像 發表于 01-28 19:11 ?5065次閱讀
    《機智云Gokit3開發篇》4 RGB燈的介紹與<b class='flag-5'>驅動</b>移植(<b class='flag-5'>HAL</b><b class='flag-5'>庫</b>)

    SPI以太網口方案DM9051ANX與W5500的BOM物料清單一覽

    在SPI接口以太網方案選型,DM9051ANX相比W5500具有顯著成本優勢。W5500需額外增加EMI防護元件(如阻尼電阻等),導致其外圍物料成本達10.71元,而DM9051ANX僅需5.72元
    的頭像 發表于 11-03 17:13 ?889次閱讀
    SPI以太網口方案DM9051ANX與<b class='flag-5'>W5500</b>的BOM物料清單一覽

    STM32驅動W5500作為客戶端進行通訊

    路層,物理層,以及32K字節片上RAM作為數據收發緩存。使得上位機主控芯片,只需承擔TCP/IP應用層控制信息的處理任務。從而大大節省了上位機對于數據復制、協議處理和中斷處理等方面的工作量,提升了系統利用率及可靠性。在操作過程中,用戶可以近似的將
    的頭像 發表于 10-14 17:19 ?1333次閱讀
    STM32<b class='flag-5'>驅動</b><b class='flag-5'>W5500</b>作為客戶端進行通訊

    DM9051ANX與W5500網口性能與規格比較

    在最近項目中,本小工在樂鑫ESP32、雅特力AT32F415與AT32F423、STM32F103以及MTK平臺上,一連玩去了官方參考設計推薦的SPI有線網口方案,前后搞了DM9051ANX與W5500,本小工從實作中學習到相關專業經驗,也了解到這兩者實際使用情況,所以,整出這份貼子。
    的頭像 發表于 10-14 10:28 ?619次閱讀

    MCU無法檢測到W5500是怎么回事?

    在兆易創新 GD32F303,國民技術 N32G457和ST STM32F103上試用了W5500以太網模塊(RT-Thread版本是rt-thread-4.1.1), 只有STM32F103上可以
    發表于 10-14 07:38

    rt_thread提供的軟件包怎么實現掛接2個W5500芯片

    rt_thread提供的軟件包怎么實現掛接2個W5500芯片,看了下源碼好像需要修改很多地方,請指導
    發表于 10-13 07:52

    使用w5500通信使用wiz包的時候,突然拔掉網線,如何釋放網絡資源?

    我用wiz包,使用w5500進行網絡通信,對接到但是socket此時已經建立,正在通信,如果此時突然拔掉網線,因為本身使用非阻塞。所以我這邊可以通過netdev_is_link_up檢測到網線斷開
    發表于 10-11 09:01

    w5500dhcp無法獲取ip怎么解決?

    spi驅動w5500,mac地址寫入讀取成功,但是獲取的ip、子網掩碼都是0;
    發表于 09-26 06:58

    wiznet+w5500程序卡死怎么解決?

    使用wiznet+w5500+tcpserver sample 調試,正常情況OK。如果在socket連接成功后拔出網線再插上重連,socket會累加,當多次操作后,socket累加到w5500的8
    發表于 09-10 06:48

    w5500隨機出現接收問題

    我現在用STM32F103CBT6與W5500作為TCP Server,多臺PC與服務器連接上后,服務器會實時傳輸數據到PC上,并且PC隨時能通過控制軟件發送數據至服務器。但是運行一段時間后,PC上
    發表于 05-15 09:45

    通過注冊表和Technitium MAC Address Changer修改MAC地址(支持W5500模塊及通用網卡)

    Changer工具(適合小白用戶),以W5500以太網模塊為例,同時適用于普通網卡。 二、通過注冊表修改MAC地址 1. 硬件準備 W5500模塊:通過USB轉以太網適配器或開發板連接PC。 PC
    的頭像 發表于 03-28 09:27 ?7973次閱讀
    通過注冊表和Technitium MAC Address Changer修改MAC地址(支持<b class='flag-5'>W5500</b>模塊及通用網卡)

    通過注冊表和Technitium MAC Address Changer修改MAC地址(支持W5500模塊及通用網卡)

    Changer工具(適合小白用戶),以W5500以太網模塊為例,同時適用于普通網卡。 二、通過注冊表修改MAC地址 1. 硬件準備 W5500模塊:通過USB轉以太網適配器或開發板連接PC。 PC
    發表于 03-28 09:18

    使用STM32F103驅動W5500,多臺設備接入交換機時,偶發出現有兩臺設備只要同時都接入后就會互相影響,怎么解決?

    使用STM32F103驅動W5500,單臺設備連接電腦網絡助手通訊沒有問題,多臺設備接入交換機的時候,偶發出現有兩臺設備只要同時都接入后就會互相影響,導致網絡數據交互堵塞,丟幀等問題。這兩臺設備只要
    發表于 03-13 07:05