99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用HAL庫去驅(qū)動(dòng)W5500芯片呢

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

掃碼添加小助手

加入工程師交流群

W5500 芯片是一款集成全硬件 TCP/IP 協(xié)議棧的嵌入式以太網(wǎng)控制器,為單片機(jī)提供了更加簡(jiǎn)單、快速、穩(wěn)定、安全的以太網(wǎng)接入方案。采用標(biāo)準(zhǔn)4線SPI接口,理論速率上可以達(dá)到 80MHz。

硬件設(shè)計(jì)

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

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

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

網(wǎng)口可以使用帶網(wǎng)絡(luò)變壓器的接口,或者網(wǎng)絡(luò)變壓器和接口獨(dú)立的,都可以,這里使用的HR911105A是帶網(wǎng)絡(luò)變壓器的。、

軟件設(shè)計(jì)

W5500官方提供了一個(gè)完整的驅(qū)動(dòng)庫,可以使用戶不必太關(guān)心底層寄存器的配置,使用起來非常方便。

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

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

配置完成后,生成代碼。然后將官方的驅(qū)動(dòng)庫添加到工程中。

下載完成后,可以看到,驅(qū)動(dòng)庫中包含了W5100、W5200等多個(gè)芯片的驅(qū)動(dòng):

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

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

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

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


pYYBAGMkSwWAH191AAEBFxs1WNg372.jpgpYYBAGMkSw-AS9zgAAFwKgEA0e8246.jpg

其中,W5500_ChipInit初始化函數(shù)中注冊(cè)的SPI相關(guān)函數(shù)定義如下:

pYYBAGMkSxyAbDkYAADTME3RNII985.jpgpYYBAGMkSzOAVMR6AAAeWD6ULqM888.jpg

添加完成后,直接在主函數(shù)中調(diào)用W5500_ChipInit();即可完成初始化。初始化完成后,可以實(shí)現(xiàn)TCP、UDP等的通訊,以TCP客戶端程序?yàn)槔?,程序如下。程序比較簡(jiǎn)單,就不做詳細(xì)分析了。

poYBAGMkS1OASYYyAAELPk3YZI8281.jpgpYYBAGMkS1qAeg_DAAAsu5R9GLc523.jpg

另外,官網(wǎng)還有很多其它應(yīng)用的例程可供參考,非常實(shí)用:

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

總結(jié)

對(duì)于大多數(shù)內(nèi)部沒有以太網(wǎng)控制器的單片機(jī)來說,W5500是個(gè)很不錯(cuò)的選擇。即使是帶有以太網(wǎng)控制器的單片機(jī),如STM32F407系列,也需要外部的PHY芯片才行,而且占用IO多,還需要移植軟件協(xié)議棧,軟件上更復(fù)雜一些。

審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3683

    瀏覽量

    131408
  • 以太網(wǎng)控制器
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    12982
  • W5500
    +關(guān)注

    關(guān)注

    5

    文章

    45

    瀏覽量

    18091

原文標(biāo)題:STM32使用HAL庫驅(qū)動(dòng)W5500

文章出處:【微信號(hào):嵌入式技術(shù)開發(fā),微信公眾號(hào):嵌入式技術(shù)開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于STM32 HAL與標(biāo)準(zhǔn)的esp8266接入機(jī)智云方案(二)

    在《基于STM32HAL與標(biāo)準(zhǔn)的esp8266接入機(jī)智云方案(一)》中,我們?cè)敿?xì)介紹了硬件連接和機(jī)智云客戶端的創(chuàng)建。本篇將重點(diǎn)講解如何下載代碼、分析下載的代碼,并直接使用這些代碼連接機(jī)智云。同時(shí)
    的頭像 發(fā)表于 05-28 18:02 ?482次閱讀
    基于STM32 <b class='flag-5'>HAL</b><b class='flag-5'>庫</b>與標(biāo)準(zhǔn)<b class='flag-5'>庫</b>的esp8266接入機(jī)智云方案(二)

    w5500隨機(jī)出現(xiàn)接收問題

    我現(xiàn)在用STM32F103CBT6與W5500作為TCP Server,多臺(tái)PC與服務(wù)器連接上后,服務(wù)器會(huì)實(shí)時(shí)傳輸數(shù)據(jù)到PC上,并且PC隨時(shí)能通過控制軟件發(fā)送數(shù)據(jù)至服務(wù)器。但是運(yùn)行一段時(shí)間后,PC上
    發(fā)表于 05-15 09:45

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

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

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

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

    使用STM32F103驅(qū)動(dòng)W5500,多臺(tái)設(shè)備接入交換機(jī)時(shí),偶發(fā)出現(xiàn)有兩臺(tái)設(shè)備只要同時(shí)都接入后就會(huì)互相影響,怎么解決?

    使用STM32F103驅(qū)動(dòng)W5500,單臺(tái)設(shè)備連接電腦網(wǎng)絡(luò)助手通訊沒有問題,多臺(tái)設(shè)備接入交換機(jī)的時(shí)候,偶發(fā)出現(xiàn)有兩臺(tái)設(shè)備只要同時(shí)都接入后就會(huì)互相影響,導(dǎo)致網(wǎng)絡(luò)數(shù)據(jù)交互堵塞,丟幀等問題。這兩臺(tái)設(shè)備只要
    發(fā)表于 03-13 07:05

    W5500+DSP28335通信問題

    我采用W5500芯片+DSP于上位機(jī)進(jìn)行UDP通信 前29次可以正常進(jìn)行通信,但是當(dāng)?shù)竭_(dá)30次的時(shí)候,W5500開始崩了,其getSn_RX_RSR(0)開始返回60000并且開始無序跳變,才是把
    發(fā)表于 01-08 21:53

    HAL在Arduino平臺(tái)上的使用

    HAL在Arduino平臺(tái)上的使用 Arduino平臺(tái)是一個(gè)開源的電子原型平臺(tái),它包括硬件(基于微控制器的電路板)和軟件(Arduino IDE)。Arduino平臺(tái)因其簡(jiǎn)單易用而受到廣泛歡迎
    的頭像 發(fā)表于 12-02 14:04 ?1634次閱讀

    HAL和標(biāo)準(zhǔn)的區(qū)別 HAL與CMSIS的關(guān)系

    在嵌入式系統(tǒng)開發(fā)中,HAL(硬件抽象層)和標(biāo)準(zhǔn)是兩種常用的軟件,它們?cè)诠δ芎褪褂脠?chǎng)景上有所不同。 1. 標(biāo)準(zhǔn) 標(biāo)準(zhǔn)
    的頭像 發(fā)表于 12-02 14:02 ?3268次閱讀

    HAL的函數(shù)調(diào)用示例

    HAL(Hardware Abstraction Layer,硬件抽象層)是STM32等微控制器中常用的,它為開發(fā)者提供了訪問和控制硬件設(shè)備的接口。以下是一些常用的HAL庫函數(shù)及其
    的頭像 發(fā)表于 12-02 14:01 ?1622次閱讀

    HAL在STM32開發(fā)中的重要性

    HAL(Hardware Abstraction Layer Library,硬件抽象層)在STM32開發(fā)中扮演著至關(guān)重要的角色。以下是HAL
    的頭像 發(fā)表于 12-02 13:35 ?1335次閱讀

    如何快速入門HAL編程 HAL與裸機(jī)編程的比較

    如何快速入門HAL編程 要快速入門HAL編程,可以遵循以下步驟: 了解基礎(chǔ)知識(shí) : 掌握C語言編程基礎(chǔ),包括變量、數(shù)據(jù)類型、函數(shù)、指針等。 了解嵌入式系統(tǒng)的基本概念,如微控制器、中
    的頭像 發(fā)表于 12-02 11:39 ?1139次閱讀

    HAL在嵌入式系統(tǒng)中的應(yīng)用

    HAL(Hardware Abstraction Layer Library,硬件抽象層)在嵌入式系統(tǒng)中扮演著至關(guān)重要的角色。以下是HAL
    的頭像 發(fā)表于 12-02 11:32 ?2116次閱讀

    w5500 作為tcp server,客戶端異常發(fā)送【RST,ACK】斷開連接問題

    測(cè)試1 w5500 作為tcp server,上位機(jī)labveiw程序作為clinet,正常第二次交互結(jié)束后,客戶端發(fā)送一個(gè)【RST,ACK】報(bào)文斷開了連接; (1)使用wireshark抓取
    發(fā)表于 10-14 14:01

    使用wiznet+w5500,打印顯示spi與5500通訊成功,但是shell無法輸入,為什么?

    使用wiznet+w5500,打印顯示spi與5500通訊成功,但是shell無法輸入,插拔網(wǎng)線能顯示link up或者down, main函數(shù)的循環(huán)打印也可以顯示,請(qǐng)問會(huì)是什么原因~~
    發(fā)表于 09-26 07:09

    第12章-ADC采集電壓和顯示 基于STM32的ADC—電壓采集(詳細(xì)講解+HAL

    第12章-ADC采集電壓和顯示 基于STM32的ADC—電壓采集(詳細(xì)講解+HAL
    的頭像 發(fā)表于 08-21 16:31 ?5335次閱讀
    第12章-ADC采集電壓和顯示 基于STM32的ADC—電壓采集(詳細(xì)講解+<b class='flag-5'>HAL</b><b class='flag-5'>庫</b>)