18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

第十七章 W55MH32 ARP示例

W55MH32 ? 來源:W55MH32 ? 作者:W55MH32 ? 2025-07-24 11:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網(wǎng)單片機

W55MH32是WIZnet重磅推出的高性能以太網(wǎng)單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內(nèi)置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數(shù)據(jù)處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協(xié)議棧、內(nèi)置MAC以及PHY,擁有獨立的32KB以太網(wǎng)收發(fā)緩存,可供8個獨立硬件socket使用。如此配置,真正實現(xiàn)了All-in-One解決方案,為開發(fā)者提供極大便利。

在封裝規(guī)格上,W55MH32提供了兩種選擇:QFN100和QFN68。

W55MH32L采用QFN100封裝版本,尺寸為12x12mm,其資源豐富,專為各種復(fù)雜工控場景設(shè)計。它擁有66個GPIO、3個ADC、12通道DMA、17個定時器、2個I2C、5個串口、2個SPI接口(其中1個帶I2S接口復(fù)用)、1個CAN、1個USB2.0以及1個SDIO接口。如此豐富的外設(shè)資源,能夠輕松應(yīng)對工業(yè)控制中多樣化的連接需求,無論是與各類傳感器、執(zhí)行器的通信,還是對復(fù)雜工業(yè)協(xié)議的支持,都能游刃有余,成為復(fù)雜工控領(lǐng)域的理想選擇。同系列還有QFN68封裝的W55MH32Q版本,該版本體積更小,僅為8x8mm,成本低,適合集成度高的網(wǎng)關(guān)模組等場景,軟件使用方法一致。更多信息和資料請進入http://www.w5500.com/網(wǎng)站或者私信獲取。

此外,本W(wǎng)55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應(yīng)用,涵蓋TCP SSL、HTTP SSL以及 MQTT SSL等,為網(wǎng)絡(luò)通信安全再添保障。

為助力開發(fā)者快速上手與深入開發(fā),基于W55MH32L這顆芯片,WIZnet精心打造了配套開發(fā)板。開發(fā)板集成WIZ-Link芯片,借助一根USB C口數(shù)據(jù)線,就能輕松實現(xiàn)調(diào)試、下載以及串口打印日志等功能。開發(fā)板將所有外設(shè)全部引出,拓展功能也大幅提升,便于開發(fā)者全面評估芯片性能。

若您想獲取芯片和開發(fā)板的更多詳細信息,包括產(chǎn)品特性、技術(shù)參數(shù)以及價格等,歡迎訪問官方網(wǎng)頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。

wKgZO2iBiBmAe3DyAACpGc5mWX8613.png

第十七章 W55MH32 ARP示例

本篇文章,我們將詳細介紹如何在W55MH32芯片上面實現(xiàn)MAC RAW模式。并通過實戰(zhàn)例程,為大家講解如何使用MAC RAW模式實現(xiàn)ARP解析IP地址為MAC地址。

該例程用到的其他網(wǎng)絡(luò)協(xié)議,例如 DHCP,請參考相關(guān)章節(jié)。有關(guān) W55MH32的初始化過程,請參考Network Install章節(jié),這里將不再贅述。

1 MACRAW模式簡介

MACRAW模式是W55MH32 TOE提供的一種底層通信模式,芯片會直接接收和發(fā)送以太網(wǎng)幀,而無需解析 TCP/IP層的協(xié)議。通過這種模式,用戶可以直接操作以太網(wǎng)幀的頭部(如目的 MAC地址、源 MAC地址、以太類型等)和有效負載數(shù)據(jù)。

注意:僅Socket0能設(shè)置為MACRAW模式。

2 ARP協(xié)議簡介

ARP(Address Resolution Protocol,地址解析協(xié)議)是一個網(wǎng)絡(luò)協(xié)議,用于通過已知的IP地址解析對應(yīng)的MAC地址,工作于OSI模型的第二層(數(shù)據(jù)鏈路層),它是IPv4網(wǎng)絡(luò)中局域網(wǎng)通信的重要組成部分。

3 ARP協(xié)議特點

協(xié)議工作范圍:ARP協(xié)議僅在同一個局域網(wǎng)(LAN)內(nèi)工作,因為廣播請求無法跨越路由器。

緩存機制:為了減少頻繁的廣播,設(shè)備會將IP-MAC的對應(yīng)關(guān)系緩存一段時間。

協(xié)議類型:ARP請求(Opcode = 1):用于查詢目標設(shè)備的MAC地址。

ARP響應(yīng)(Opcode = 2):用于回復(fù)請求方的ARP消息。

4 ARP協(xié)議請求的工作流程

當發(fā)送方主機A需要與目標主機B通信,但只知道目標主機的IP地址,而不知道目標主機的MAC地址,并且自己的ARP緩存表中也無對應(yīng)關(guān)系,此時會觸發(fā)ARP請求流程:

構(gòu)建ARP請求:發(fā)送方需要構(gòu)建一個ARP請求數(shù)據(jù)包。

廣播ARP請求:發(fā)送方將構(gòu)建好的ARP請求封裝為以太網(wǎng)幀,使用廣播方式發(fā)送到局域網(wǎng)。

目標主機接收并處理:網(wǎng)絡(luò)中的所有主機都會收到廣播幀,但只有目標主機(IP地址匹配)會響應(yīng)。

發(fā)送方接收ARP響應(yīng),并更新自己的ARP緩存表。

5 ARP協(xié)議應(yīng)用場景

地址解析:當設(shè)備需要進行鏈路層通信時,可以使用ARP協(xié)議獲取對方MAC地址。

網(wǎng)絡(luò)調(diào)試與診斷:在調(diào)試嵌入式設(shè)備時,通過發(fā)送 ARP請求驗證設(shè)備的網(wǎng)絡(luò)連通性。

6 ARP協(xié)議的安全風險及防護措施

盡管ARP協(xié)議在局域網(wǎng)通信中非常重要,但它也存在安全風險。例如,ARP欺騙是一種常見的攻擊手段,攻擊者可以通過偽造ARP回復(fù)來誤導(dǎo)其他設(shè)備,從而竊取敏感信息或中斷網(wǎng)絡(luò)通信。為了防范ARP欺騙攻擊,可以采取以下措施:

1.使用靜態(tài)ARP表:通過配置靜態(tài)ARP表項,可以限制和指定IP地址的設(shè)備通信時只使用指定的MAC地址。這樣,即使攻擊者發(fā)送了偽造的ARP報文,也無法修改此表項的IP地址和MAC地址的映射關(guān)系。

2.端口安全和靜態(tài)IP/MAC綁定:在接入交換機上啟用端口安全功能,并將用戶IP/MAC地址進行靜態(tài)綁定。這種方法可以防止用戶發(fā)出假冒網(wǎng)關(guān)的ARP信息。

3.動態(tài)ARP檢查(DAI)與DHCP偵聽:結(jié)合使用動態(tài)ARP檢查和DHCP偵聽功能,可以對用戶發(fā)出的ARP報文進行合法性檢測,并過濾掉不符合規(guī)則的ARP報文。

4.加密通信協(xié)議:通過使用加密通信協(xié)議,可以防止網(wǎng)絡(luò)流量被竊聽和篡改。

5.防火墻和交換機配置:在防火墻和交換機上設(shè)置相應(yīng)的安全策略,例如啟用特殊的ARP報文過濾功能。

6客戶端管理:確保所有終端設(shè)備都遵循安全策略,并定期更新和打補丁。

7 ARP協(xié)議的工作原理

發(fā)送ARP請求:

當設(shè)備A需要與設(shè)備B通信時,首先檢查ARP緩存是否存有設(shè)備B的MAC地址。如果ARP緩存中沒有設(shè)備B的MAC地址,設(shè)備A會發(fā)送一條廣播ARP請求消息,格式為:“誰是IP地址 X.X.X.X?請告訴我(設(shè)備A的IP地址和MAC地址)。”

接收ARP響應(yīng):

設(shè)備B收到廣播請求后,檢查請求中的IP地址是否與自身匹配。如果匹配,設(shè)備B發(fā)送一條單播ARP響應(yīng)消息給設(shè)備A,告知設(shè)備B的MAC地址。設(shè)備A收到響應(yīng)后,將設(shè)備B的MAC地址緩存起來,用于后續(xù)通信。

8 ARP報文格式

一個標準的ARP報文由以下字段組成,總長度為28字節(jié)(不包含鏈路層幀頭):

字段名 長度(字節(jié)) 描述
Hardware Type 2 表示硬件類型,常見值為1(以太網(wǎng))。
Protocol Type 2 表示需要解析的協(xié)議類型,常見值為0x0800(IPv4)。
Hardware Address Length 1 硬件地址(MAC地址)的長度,通常為6字節(jié)。
Protocol Address Length 1 協(xié)議地址(IP地址)的長度,通常為4字節(jié)(IPv4)。
Operation Code 2 指示操作類型:1(請求),2(響應(yīng))。
Sender Hardware Address 6 請求方的MAC地址。
Sender Protocol Address 4 請求方的IP地址。
Target Hardware Address 6 目標設(shè)備的MAC地址。請求中此字段為0。
Target Protocol Address 4 目標設(shè)備的IP地址。

報文字段詳解

硬件類型 (Hardware Type):說明所使用的網(wǎng)絡(luò)類型,例如:

1:以太網(wǎng)。

6:IEEE 802網(wǎng)絡(luò)。

對于以太網(wǎng)的ARP報文,該值始終為0x0001。

協(xié)議類型 (Protocol Type):表示要解析的協(xié)議類型,例如:

0x0800:表示IPv4地址解析。

0x86DD:表示IPv6(通常由ND協(xié)議替代ARP)。

硬件地址長度 (Hardware Address Length):定義硬件地址(MAC地址)的長度,通常為6字節(jié)(以太網(wǎng))。

協(xié)議地址長度 (Protocol Address Length):定義協(xié)議地址(IP地址)的長度,通常為4字節(jié)(IPv4)。

操作碼 (Operation Code):說明ARP的操作類型:

1:ARP請求。

2:ARP響應(yīng)。

發(fā)送方硬件地址 (Sender Hardware Address):包含請求方設(shè)備的MAC地址。

發(fā)送方協(xié)議地址 (Sender Protocol Address):包含請求方設(shè)備的IP地址。

目標硬件地址 (Target Hardware Address):在ARP請求中,這一字段為空(全0)。在ARP響應(yīng)中,包含目標設(shè)備的MAC地址。

目標協(xié)議地址 (Target Protocol Address):包含目標設(shè)備的IP地址。

報文內(nèi)容:

ARP Probe請求報文:

|報文解析|
Address Resolution Protocol (ARP Probe) (ARP Probe請求報文,用于檢測目標IP地址是否沖突)
   Hardware type: Ethernet (1) (硬件類型:1表示以太網(wǎng))
   Protocol type: IPv4 (0x0800) (協(xié)議類型:0x0800表示IPv4)
   Hardware size: 6 (硬件地址長度:6字節(jié))
   Protocol size: 4 (協(xié)議地址長度:4字節(jié))
   Opcode: request (1) (操作碼:1表示ARP請求)
    [Is probe: True] (是否為探測:是,用于檢測IP沖突)
   Sender MAC address: Wiznet_12:22:12 (00:08:dc:12:22:12) (發(fā)送方MAC地址:00:08:dc:12:22:12)
   Sender IP address: 0.0.0.0 (發(fā)送方IP地址:未分配,用于探測)
   Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00) (目標MAC地址:全0,未指定)
   Target IP address: 192.168.1.105 (目標IP地址:192.168.1.105,探測對象)

|報文原文|
00 01 08 00 06 04 00 01 00 08 dc 12 22 12 00 00 00 00 00 00 00 00 00 00 c0 a8 01 69

ARP請求報文:

|報文解析|
Address Resolution Protocol (request) (請求報文)
   Hardware type: Ethernet (1) (硬件類型:1表示以太網(wǎng))
   Protocol type: IPv4 (0x0800) (協(xié)議類型:0x0800表示IPv4)
   Hardware size: 6 (硬件地址長度:6字節(jié))
   Protocol size: 4 (協(xié)議地址長度:4字節(jié))
   Opcode: request (1) (操作碼:1表示ARP請求)
   Sender MAC address: Wiznet_12:22:12 (00:08:dc:12:22:12) (發(fā)送方MAC地址)
   Sender IP address: 192.168.1.105 (發(fā)送方IP地址:192.168.1.105)
   Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00) (未知目標設(shè)備的物理地址)
   Target IP address: 192.168.1.138 (目標IP地址:192.168.1.138,目標設(shè)備的IPv4地址)

|報文原文|
00 01 08 00 06 04 00 01 00 08 dc 12 22 12 c0 a8 01 69 00 00 00 00 00 00 c0 a8 01 8a

ARP響應(yīng)報文:

|報文解析|
Address Resolution Protocol (reply) (響應(yīng)報文)
   Hardware type: Ethernet (1) (硬件類型:1表示以太網(wǎng))
   Protocol type: IPv4 (0x0800) (協(xié)議類型:0x0800表示IPv4)
   Hardware size: 6 (硬件地址長度:6字節(jié))
   Protocol size: 4 (協(xié)議地址長度:4字節(jié))
   Opcode: reply (2) (操作碼:2表示ARP響應(yīng))
   Sender MAC address: HP_b1:37:11 (64:4e:d7:b1:37:11) (發(fā)送方MAC地址:64:4e:d7:b1:37:11)
   Sender IP address: 192.168.1.138 (發(fā)送方IP地址:192.168.1.138)
   Target MAC address: Wiznet_12:22:12 (00:08:dc:12:22:12)   (目標MAC地址,ARP請求者的物理地址)
   Target IP address: 192.168.1.105 (目標IP地址:192.168.1.105,ARP請求者的IPv4地址)

|報文原文|
00 01 08 00 06 04 00 02 64 4e d7 b1 37 11 c0 a8 01 8a 00 08 dc 12 22 12 c0 a8 01 69

9實現(xiàn)過程

接下來,我們看看如何在W55MH32上實現(xiàn)ARP請求。

注意:測試實例需要PC端和W55MH32處于同一網(wǎng)段。

步驟1:在主循環(huán)中調(diào)用do_arp()函數(shù),執(zhí)行ARP請求流程

while (1)
{
   do_arp(SOCKET_ID, ethernet_buf, dest_ip);
}

do_arp()函數(shù)如下所示:

void do_arp(uint8_t sn, uint8_t *buf, uint8_t *dest_ip)
{
 uint16_t rlen       = 0;
 uint16_t local_port = 5000;
 uint16_t cnt        = 0;
 switch (getSn_SR(sn))
 {
 case SOCK_CLOSED:
     close(sn);
     socket(sn, Sn_MR_MACRAW, local_port, 0x00);
     break;
 case SOCK_MACRAW:
     arp_request(sn, local_port, dest_ip);
     while (1)
     {
         if ((rlen = getSn_RX_RSR(sn)) > 0)
         {
             arp_reply(sn, buf, rlen);
             break;
         }
         if (cnt > 1000)
         {
             printf("Request Time out.rn");
             cnt = 0;
             break;
         }
         else
         {
             cnt++;
             delay_ms(5);
         }
     }
     break;
 }
 if (arp_succ_flag)
     while (1);
}

進入該函數(shù)后,程序會執(zhí)行一個狀態(tài)機,當socket狀態(tài)為關(guān)閉狀態(tài)時開啟一個MACRAW模式的socket。當socket成功打開為MAC RAW模式后,執(zhí)行arp_request()函數(shù)發(fā)送ARP請求,然后進入一個循環(huán),當成功接收到響應(yīng)時,執(zhí)行arp_reply()函數(shù)解析請求。當超過5秒未能得到響應(yīng)時,則ARP請求失敗。當arp_succ_flag標志位為1時,說明ARP請求成功。

arp_request()函數(shù)如下所示:

void arp_request(uint8_t sn, uint16_t port, uint8_t *dest_ip)
{
 uint16_t i;
 uint8_t  broadcast_addr[4] = {0xff, 0xff, 0xff, 0xff};
 for (i = 0; i < 6; i++)
 {
     pARPMSG.dst_mac[i] = 0xff; // Broadcast address in an Ethernet frame
     pARPMSG.tgt_mac[i] = 0x00;
     if (i < 4)
     {
         pARPMSG.tgt_ip[i] = dest_ip[i];
     }
 }
 getSHAR(pARPMSG.src_mac);              // Fill in the source MAC address of the link layer
 getSHAR(pARPMSG.sender_mac);           // Fill in the MAC address of the sender in ARP
 getSIPR(pARPMSG.sender_ip);            // Enter the IP address of the sender in ARP
 pARPMSG.msg_type = htons(ARP_TYPE);    // ARP type
 pARPMSG.hw_type  = htons(ETHER_TYPE);  // Ethernet type
 pARPMSG.pro_type = htons(PRO_TYPE);    // IP
 pARPMSG.hw_size  = HW_SIZE;            // 6
 pARPMSG.pro_size = PRO_SIZE;           // 4
 pARPMSG.opcode   = htons(ARP_REQUEST); // request: 0x0001;  reply: 0x0002
 if (sendto(sn, (uint8_t *)&pARPMSG, sizeof(pARPMSG), broadcast_addr, port) != sizeof(pARPMSG))
 {
     printf("Fail to send arp request packet.rn");
 }
 else
 {
     if (pARPMSG.opcode == htons(ARP_REQUEST))
     {
         printf("Who has %d.%d.%d.%d ?  Tell %d.%d.%d.%drn", pARPMSG.tgt_ip[0], pARPMSG.tgt_ip[1],pARPMSG.tgt_ip[2], pARPMSG.tgt_ip[3],
                 pARPMSG.sender_ip[0], pARPMSG.sender_ip[1], pARPMSG.sender_ip[2], pARPMSG.sender_ip[3]);
     }
     else
     {
         printf("Opcode has wrong value. check opcode!rn");
     }
 }
}
 

在這個函數(shù)中,進行了ARP報文的組包以及發(fā)送。

arp_reply()函數(shù)如下所示:

void arp_reply(uint8_t sn, uint8_t *buff, uint16_t rlen)
{
   uint8_t  destip[4];
   uint16_t destport;
   uint8_t  ret_arp_reply[128];
   uint8_t  i;
 
   recvfrom(sn, (uint8_t *)buff, rlen, destip, &destport);
 
   if (buff[12] == ARP_TYPE_HI && buff[13] == ARP_TYPE_LO)
   {
       aAPRMSG = (ARPMSG *)buff;
       if ((aAPRMSG->opcode) == htons(ARP_REPLY))
       {
           for (i = 0; i < 4; i++)
           {
               if (aAPRMSG-?>tgt_ip[i] != pARPMSG.tgt_ip[i])
               {
                   break;
               }
               arp_succ_flag = 1;
           }
           memset(ret_arp_reply, 0x00, 128);
           sprintf((char *)ret_arp_reply, "%d.%d.%d.%d is at %.2x.%.2x.%.2x.%.2x.%.2x.%.2xrn",
                   aAPRMSG->sender_ip[0], aAPRMSG->sender_ip[1], aAPRMSG->sender_ip[2], aAPRMSG>sender_ip[3],
                   aAPRMSG->sender_mac[0], aAPRMSG->sender_mac[1], aAPRMSG->sender_mac[2], aAPRMSG->sender_mac[3],
                   aAPRMSG->sender_mac[4], aAPRMSG->sender_mac[5]);
 
           printf("%d.%d.%d.%d is at %.2x.%.2x.%.2x.%.2x.%.2x.%.2xrn",
                   aAPRMSG->sender_ip[0], aAPRMSG->sender_ip[1], aAPRMSG->sender_ip[2], aAPRMSG->sender_ip[3],
                   aAPRMSG->sender_mac[0], aAPRMSG->sender_mac[1], aAPRMSG->sender_mac[2], aAPRMSG->sender_mac[3],
                   aAPRMSG->sender_mac[4], aAPRMSG->sender_mac[5]);
       }
       else if ((aAPRMSG->opcode) == htons(ARP_REQUEST))
       {
           printf("Who has %d.%d.%d.%d ? Tell %.2x.%.2x.%.2x.%.2x.%.2x.%.2xrn",
                   aAPRMSG->tgt_ip[0], aAPRMSG->tgt_ip[1], aAPRMSG->tgt_ip[2], aAPRMSG->tgt_ip[3],
                   aAPRMSG->sender_mac[0], aAPRMSG->sender_mac[1], aAPRMSG->sender_mac[2], aAPRMSG->sender_mac[3],
                   aAPRMSG->sender_mac[4], aAPRMSG->sender_mac[5]);
       }
   }
   else
   {
       // printf("This message is not ARP reply: opcode is not 0x02!rn");
   }
}
 

在這個函數(shù)中,我們會將接收到的ARP報文進行校驗,如果ARP報文為回復(fù)報文,并且回復(fù)的IP地址與我們請求的IP地址匹配時,將arp_succ_flag標志位置一,表示ARP請求成功。

10運行結(jié)果

燒錄例程運行后,首先可以看到進行了PHY鏈路檢測,然后打印了設(shè)置的網(wǎng)絡(luò)地址信息,然后是執(zhí)行ARP請求以及請求結(jié)果,如下圖所示:

wKgZO2iBq6WAHzMRAACDuUPiFiU402.png

11總結(jié)

文講解了如何在 W55MH32芯片上通過 MAC RAW模式實現(xiàn) ARP協(xié)議,將 IP地址解析為 MAC地址,通過實戰(zhàn)例程展示了從發(fā)送 ARP請求到接收并處理響應(yīng)的完整過程。文章詳細介紹了 MAC RAW模式和 ARP協(xié)議的概念、特點、工作流程、應(yīng)用場景、安全風險及防護措施和報文格式,幫助讀者理解其在局域網(wǎng)通信中的實際應(yīng)用價值。

下一篇文章將聚焦 FTP協(xié)議服務(wù)器模式,解析其核心原理及在文件傳輸中的應(yīng)用,同時講解如何在相關(guān)設(shè)備上搭建 FTP服務(wù)器,敬請期待!

WIZnet是一家無晶圓廠半導(dǎo)體公司,成立于 1998年。產(chǎn)品包括互聯(lián)網(wǎng)處理器 iMCU?,它采用 TOE(TCP/IP卸載引擎)技術(shù),基于獨特的專利全硬連線 TCP/IP。iMCU?面向各種應(yīng)用中的嵌入式互聯(lián)網(wǎng)設(shè)備。

WIZnet在全球擁有 70多家分銷商,在香港、韓國、美國設(shè)有辦事處,提供技術(shù)支持和產(chǎn)品營銷。

香港辦事處管理的區(qū)域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。

審核編輯 黃宇

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

    關(guān)注

    6071

    文章

    45265

    瀏覽量

    660776
  • ARP
    ARP
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    第十七章 SPI——讀寫串行FLASH

    本章介紹SPI協(xié)議,其為高速全雙工通信總線,含物理層、協(xié)議層內(nèi)容,還講解W55MH32的SPI特性、初始化及DMA相關(guān)配置。
    的頭像 發(fā)表于 06-19 17:06 ?897次閱讀
    <b class='flag-5'>第十七章</b> SPI——讀寫串行FLASH

    第十七章 SPI

    本篇文章介紹了W55MH32的SPI接口,可工作于SPI或I2S模式,支持半 / 全雙工、主從操作,具可編程時鐘極性/相位等特征。闡述了主從模式配置、DMA 通信等,介紹相關(guān)例程用于驗證數(shù)據(jù)傳輸功能。
    的頭像 發(fā)表于 05-28 17:29 ?810次閱讀
    <b class='flag-5'>第十七章</b> SPI

    "STM32H7學習繼續(xù)(STM32H7系列5)第十七章比較實用,以后寫程序的時候會用到"

    "STM32H7學習繼續(xù)(STM32H7系列5)第十七章比較實用,以后寫程序的時候會用到"
    發(fā)表于 12-05 11:21 ?9次下載
    "STM32H7學習繼續(xù)(STM32H7系列5)<b class='flag-5'>第十七章</b>比較實用,以后寫程序的時候會用到"

    第二 W55MH32 DHCP示例

    本文介紹 DHCP?協(xié)議,包括其在 IP?網(wǎng)絡(luò)自動分配參數(shù)的功能、便捷配置等特點、工作原理、報文格式和應(yīng)用場景。通過 W55MH32?實戰(zhàn)例程展示動態(tài)獲取網(wǎng)絡(luò)地址信息過程,含注冊定時器中斷、啟用模式和獲取信息等步驟,燒錄后可完成檢測與信息打印,PC?端能 PING?通設(shè)備。
    的頭像 發(fā)表于 07-24 09:02 ?464次閱讀
    第二<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> DHCP<b class='flag-5'>示例</b>

    第五 W55MH32 UDP示例

    本文介紹了在 W55MH32?芯片上實現(xiàn) UDP?通信及數(shù)據(jù)回環(huán)測試的方法。闡述了 UDP?協(xié)議的概念、特點、應(yīng)用場景、報文傳輸流程和報文結(jié)構(gòu),展示了實現(xiàn)過程,借助網(wǎng)絡(luò)調(diào)試工具完成測試。
    的頭像 發(fā)表于 07-24 09:13 ?468次閱讀
    第五<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> UDP<b class='flag-5'>示例</b>

    第九 W55MH32 HTTP Server示例

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

    第十章 W55MH32 SNTP示例

    本文講解了如何在W55MH32芯片上實現(xiàn)SNTP授時功能,通過實例詳細展示了從SNTP服務(wù)器同步時間的實現(xiàn)流程,包括時間請求、響應(yīng)解析和本地時間校準等核心步驟。文章還對SNTP的應(yīng)用場景進行了分析,幫助讀者理解其在時間同步中的實際應(yīng)用價值。
    的頭像 發(fā)表于 07-24 09:43 ?601次閱讀
    <b class='flag-5'>第十章</b> <b class='flag-5'>W55MH32</b> SNTP<b class='flag-5'>示例</b>

    第十一章 W55MH32 SMTP示例

    本文講解了如何在 W55MH32?芯片上實現(xiàn) SMTP?協(xié)議,通過實例詳細展示了在該芯片上使用 SMTP?協(xié)議發(fā)送電子郵件的實現(xiàn)流程,包括 SMTP?發(fā)送內(nèi)容初始化、使用 DNS?協(xié)議解析 SMTP
    的頭像 發(fā)表于 07-24 09:49 ?729次閱讀
    <b class='flag-5'>第十</b>一章 <b class='flag-5'>W55MH32</b> SMTP<b class='flag-5'>示例</b>

    第十二章 W55MH32 NetBIOS示例

    本文講解了如何在 W55MH32?芯片上實現(xiàn) NetBIOS?功能,通過實戰(zhàn)例程展示了利用 NetBIOS?進行名稱 PING?測試的具體過程,包括 NetBIOS?功能的調(diào)用、請求處理、名稱解析
    的頭像 發(fā)表于 07-24 09:58 ?443次閱讀
    <b class='flag-5'>第十二章</b> <b class='flag-5'>W55MH32</b> NetBIOS<b class='flag-5'>示例</b>

    第十四章 W55MH32 TFTP示例

    本文講解了如何在 W55MH32?芯片上實現(xiàn) TFTP?協(xié)議,通過實戰(zhàn)例程詳細展示了使用 TFTP?客戶端模式從服務(wù)器獲取文本文件的過程,涵蓋 TFTP?初始化、發(fā)送讀請求、運行協(xié)議并處理結(jié)果等核心
    的頭像 發(fā)表于 07-24 10:37 ?466次閱讀
    <b class='flag-5'>第十</b>四章 <b class='flag-5'>W55MH32</b> TFTP<b class='flag-5'>示例</b>

    第十五章 W55MH32 SNMP示例

    本文講解了如何在 W55MH32?芯片上實現(xiàn) SNMP?功能,通過實戰(zhàn)例程展示了使用 MIB Browser?管理 W55MH32?的具體過程,涵蓋在 MIB Browser?中創(chuàng)建分支、添加葉子
    的頭像 發(fā)表于 07-24 10:43 ?506次閱讀
    <b class='flag-5'>第十五章</b> <b class='flag-5'>W55MH32</b> SNMP<b class='flag-5'>示例</b>

    第十六章 W55MH32 PING示例

    本文講解了如何在 W55MH32?芯片上通過 IPRAW?模式實現(xiàn) ICMP?協(xié)議中的 PING?命令,以進行網(wǎng)絡(luò)連通性測試,通過實戰(zhàn)例程展示了從發(fā)送 PING?請求、接收并解析回復(fù)到統(tǒng)計結(jié)果的完整
    的頭像 發(fā)表于 07-24 11:41 ?356次閱讀
    <b class='flag-5'>第十</b>六章 <b class='flag-5'>W55MH32</b> PING<b class='flag-5'>示例</b>

    第十八章 W55MH32 FTP_Server示例

    本文講解了如何在 W55MH32?芯片上實現(xiàn) FTP?協(xié)議的服務(wù)器模式,通過實戰(zhàn)例程展示了使用 W55MH32?作為 FTP?服務(wù)器與 PC?端進行文件傳輸、目錄操作等功能的過程,涵蓋獲取網(wǎng)絡(luò)配置
    的頭像 發(fā)表于 07-24 11:55 ?328次閱讀
    <b class='flag-5'>第十</b>八章 <b class='flag-5'>W55MH32</b> FTP_Server<b class='flag-5'>示例</b>

    第二十六章 W55MH32?上位機搜索和配置示例

    本文講解了如何在 W55MH32?芯片上實現(xiàn)上位機搜索和配置功能,通過實戰(zhàn)例程展示了使用開源上位機配置工具 SmartConfigTool?搜索局域網(wǎng)中的 W55MH32?并進行網(wǎng)絡(luò)地址配置的過程
    的頭像 發(fā)表于 07-24 16:13 ?434次閱讀
    第二十六章 <b class='flag-5'>W55MH32</b>?上位機搜索和配置<b class='flag-5'>示例</b>

    第二十七章 W55MH32?Interrupt示例

    本文講解了如何在 W55MH32?芯片上使用 TOE?中斷功能并進行回環(huán)數(shù)據(jù)測試,通過實戰(zhàn)例程展示了從初始化中斷引腳、處理中斷、開啟中斷功能到在主循環(huán)中運行 TCP?回環(huán)服務(wù)器的完整過程。文章詳細
    的頭像 發(fā)表于 07-24 16:14 ?361次閱讀
    第二<b class='flag-5'>十七章</b> <b class='flag-5'>W55MH32</b>?Interrupt<b class='flag-5'>示例</b>