0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

第十七章 W55MH32 ARP示例

W55MH32 来源:W55MH32 作者:W55MH32 2025-07-24 11:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

单芯片解决方案,开启全新体验——W55MH32 高性能以太网单片机

W55MH32是WIZnet重磅推出的高性能以太网单片机,它为用户带来前所未有的集成化体验。这颗芯片将强大的组件集于一身,具体来说,一颗W55MH32内置高性能Arm® Cortex-M3核心,其主频最高可达216MHz;配备1024KB FLASH与96KB SRAM,满足存储与数据处理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP协议栈、内置MAC以及PHY,拥有独立的32KB以太网收发缓存,可供8个独立硬件socket使用。如此配置,真正实现了All-in-One解决方案,为开发者提供极大便利。

在封装规格上,W55MH32提供了两种选择:QFN100和QFN68。

W55MH32L采用QFN100封装版本,尺寸为12x12mm,其资源丰富,专为各种复杂工控场景设计。它拥有66个GPIO、3个ADC、12通道DMA、17个定时器、2个I2C、5个串口、2个SPI接口(其中1个带I2S接口复用)、1个CAN、1个USB2.0以及1个SDIO接口。如此丰富的外设资源,能够轻松应对工业控制中多样化的连接需求,无论是与各类传感器、执行器的通信,还是对复杂工业协议的支持,都能游刃有余,成为复杂工控领域的理想选择。同系列还有QFN68封装的W55MH32Q版本,该版本体积更小,仅为8x8mm,成本低,适合集成度高的网关模组等场景,软件使用方法一致。更多信息和资料请进入http://www.w5500.com/网站或者私信获取。

此外,本W55MH32支持硬件加密算法单元,WIZnet还推出TOE+SSL应用,涵盖TCP SSL、HTTP SSL以及 MQTT SSL等,为网络通信安全再添保障。

为助力开发者快速上手与深入开发,基于W55MH32L这颗芯片,WIZnet精心打造了配套开发板。开发板集成WIZ-Link芯片,借助一根USB C口数据线,就能轻松实现调试、下载以及串口打印日志等功能。开发板将所有外设全部引出,拓展功能也大幅提升,便于开发者全面评估芯片性能。

若您想获取芯片和开发板的更多详细信息,包括产品特性、技术参数以及价格等,欢迎访问官方网页:http://www.w5500.com/,我们期待与您共同探索W55MH32的无限可能。

wKgZO2iBiBmAe3DyAACpGc5mWX8613.png

第十七章 W55MH32 ARP示例

本篇文章,我们将详细介绍如何在W55MH32芯片上面实现MAC RAW模式。并通过实战例程,为大家讲解如何使用MAC RAW模式实现ARP解析IP地址为MAC地址。

该例程用到的其他网络协议,例如 DHCP,请参考相关章节。有关 W55MH32的初始化过程,请参考Network Install章节,这里将不再赘述。

1 MACRAW模式简介

MACRAW模式是W55MH32 TOE提供的一种底层通信模式,芯片会直接接收和发送以太网帧,而无需解析 TCP/IP层的协议。通过这种模式,用户可以直接操作以太网帧的头部(如目的 MAC地址、源 MAC地址、以太类型等)和有效负载数据。

注意:仅Socket0能设置为MACRAW模式。

2 ARP协议简介

ARP(Address Resolution Protocol,地址解析协议)是一个网络协议,用于通过已知的IP地址解析对应的MAC地址,工作于OSI模型的第二层(数据链路层),它是IPv4网络中局域网通信的重要组成部分。

3 ARP协议特点

协议工作范围:ARP协议仅在同一个局域网(LAN)内工作,因为广播请求无法跨越路由器。

缓存机制:为了减少频繁的广播,设备会将IP-MAC的对应关系缓存一段时间。

协议类型:ARP请求(Opcode = 1):用于查询目标设备的MAC地址。

ARP响应(Opcode = 2):用于回复请求方的ARP消息。

4 ARP协议请求的工作流程

当发送方主机A需要与目标主机B通信,但只知道目标主机的IP地址,而不知道目标主机的MAC地址,并且自己的ARP缓存表中也无对应关系,此时会触发ARP请求流程:

构建ARP请求:发送方需要构建一个ARP请求数据包。

广播ARP请求:发送方将构建好的ARP请求封装为以太网帧,使用广播方式发送到局域网。

目标主机接收并处理:网络中的所有主机都会收到广播帧,但只有目标主机(IP地址匹配)会响应。

发送方接收ARP响应,并更新自己的ARP缓存表。

5 ARP协议应用场景

地址解析:当设备需要进行链路层通信时,可以使用ARP协议获取对方MAC地址。

网络调试与诊断:在调试嵌入式设备时,通过发送 ARP请求验证设备的网络连通性。

6 ARP协议的安全风险及防护措施

尽管ARP协议在局域网通信中非常重要,但它也存在安全风险。例如,ARP欺骗是一种常见的攻击手段,攻击者可以通过伪造ARP回复来误导其他设备,从而窃取敏感信息或中断网络通信。为了防范ARP欺骗攻击,可以采取以下措施:

1.使用静态ARP表:通过配置静态ARP表项,可以限制和指定IP地址的设备通信时只使用指定的MAC地址。这样,即使攻击者发送了伪造的ARP报文,也无法修改此表项的IP地址和MAC地址的映射关系。

2.端口安全和静态IP/MAC绑定:在接入交换机上启用端口安全功能,并将用户IP/MAC地址进行静态绑定。这种方法可以防止用户发出假冒网关的ARP信息。

3.动态ARP检查(DAI)与DHCP侦听:结合使用动态ARP检查和DHCP侦听功能,可以对用户发出的ARP报文进行合法性检测,并过滤掉不符合规则的ARP报文。

4.加密通信协议:通过使用加密通信协议,可以防止网络流量被窃听和篡改。

5.防火墙和交换机配置:在防火墙和交换机上设置相应的安全策略,例如启用特殊的ARP报文过滤功能。

6客户端管理:确保所有终端设备都遵循安全策略,并定期更新和打补丁。

7 ARP协议的工作原理

发送ARP请求:

当设备A需要与设备B通信时,首先检查ARP缓存是否存有设备B的MAC地址。如果ARP缓存中没有设备B的MAC地址,设备A会发送一条广播ARP请求消息,格式为:“谁是IP地址 X.X.X.X?请告诉我(设备A的IP地址和MAC地址)。”

接收ARP响应:

设备B收到广播请求后,检查请求中的IP地址是否与自身匹配。如果匹配,设备B发送一条单播ARP响应消息给设备A,告知设备B的MAC地址。设备A收到响应后,将设备B的MAC地址缓存起来,用于后续通信。

8 ARP报文格式

一个标准的ARP报文由以下字段组成,总长度为28字节(不包含链路层帧头):

字段名 长度(字节) 描述
Hardware Type 2 表示硬件类型,常见值为1(以太网)。
Protocol Type 2 表示需要解析的协议类型,常见值为0x0800(IPv4)。
Hardware Address Length 1 硬件地址(MAC地址)的长度,通常为6字节。
Protocol Address Length 1 协议地址(IP地址)的长度,通常为4字节(IPv4)。
Operation Code 2 指示操作类型:1(请求),2(响应)。
Sender Hardware Address 6 请求方的MAC地址。
Sender Protocol Address 4 请求方的IP地址。
Target Hardware Address 6 目标设备的MAC地址。请求中此字段为0。
Target Protocol Address 4 目标设备的IP地址。

报文字段详解

硬件类型 (Hardware Type):说明所使用的网络类型,例如:

1:以太网。

6:IEEE 802网络。

对于以太网的ARP报文,该值始终为0x0001。

协议类型 (Protocol Type):表示要解析的协议类型,例如:

0x0800:表示IPv4地址解析。

0x86DD:表示IPv6(通常由ND协议替代ARP)。

硬件地址长度 (Hardware Address Length):定义硬件地址(MAC地址)的长度,通常为6字节(以太网)。

协议地址长度 (Protocol Address Length):定义协议地址(IP地址)的长度,通常为4字节(IPv4)。

操作码 (Operation Code):说明ARP的操作类型:

1:ARP请求。

2:ARP响应。

发送方硬件地址 (Sender Hardware Address):包含请求方设备的MAC地址。

发送方协议地址 (Sender Protocol Address):包含请求方设备的IP地址。

目标硬件地址 (Target Hardware Address):在ARP请求中,这一字段为空(全0)。在ARP响应中,包含目标设备的MAC地址。

目标协议地址 (Target Protocol Address):包含目标设备的IP地址。

报文内容:

ARP Probe请求报文:

|报文解析|
Address Resolution Protocol (ARP Probe) (ARP Probe请求报文,用于检测目标IP地址是否冲突)
   Hardware type: Ethernet (1) (硬件类型:1表示以太网)
   Protocol type: IPv4 (0x0800) (协议类型:0x0800表示IPv4)
   Hardware size: 6 (硬件地址长度:6字节)
   Protocol size: 4 (协议地址长度:4字节)
   Opcode: request (1) (操作码:1表示ARP请求)
    [Is probe: True] (是否为探测:是,用于检测IP冲突)
   Sender MAC address: Wiznet_12:22:12 (00:08:dc:12:22:12) (发送方MAC地址:00:08:dc:12:22:12)
   Sender IP address: 0.0.0.0 (发送方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表示以太网)
   Protocol type: IPv4 (0x0800) (协议类型:0x0800表示IPv4)
   Hardware size: 6 (硬件地址长度:6字节)
   Protocol size: 4 (协议地址长度:4字节)
   Opcode: request (1) (操作码:1表示ARP请求)
   Sender MAC address: Wiznet_12:22:12 (00:08:dc:12:22:12) (发送方MAC地址)
   Sender IP address: 192.168.1.105 (发送方IP地址:192.168.1.105)
   Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00) (未知目标设备的物理地址)
   Target IP address: 192.168.1.138 (目标IP地址:192.168.1.138,目标设备的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响应报文:

|报文解析|
Address Resolution Protocol (reply) (响应报文)
   Hardware type: Ethernet (1) (硬件类型:1表示以太网)
   Protocol type: IPv4 (0x0800) (协议类型:0x0800表示IPv4)
   Hardware size: 6 (硬件地址长度:6字节)
   Protocol size: 4 (协议地址长度:4字节)
   Opcode: reply (2) (操作码:2表示ARP响应)
   Sender MAC address: HP_b1:37:11 (64:4e:d7:b1:37:11) (发送方MAC地址:64:4e:d7:b1:37:11)
   Sender IP address: 192.168.1.138 (发送方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实现过程

接下来,我们看看如何在W55MH32上实现ARP请求。

注意:测试实例需要PC端和W55MH32处于同一网段。

步骤1:在主循环中调用do_arp()函数,执行ARP请求流程

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

do_arp()函数如下所示:

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);
}

进入该函数后,程序会执行一个状态机,当socket状态为关闭状态时开启一个MACRAW模式的socket。当socket成功打开为MAC RAW模式后,执行arp_request()函数发送ARP请求,然后进入一个循环,当成功接收到响应时,执行arp_reply()函数解析请求。当超过5秒未能得到响应时,则ARP请求失败。当arp_succ_flag标志位为1时,说明ARP请求成功。

arp_request()函数如下所示:

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");
     }
 }
}
 

在这个函数中,进行了ARP报文的组包以及发送。

arp_reply()函数如下所示:

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");
   }
}
 

在这个函数中,我们会将接收到的ARP报文进行校验,如果ARP报文为回复报文,并且回复的IP地址与我们请求的IP地址匹配时,将arp_succ_flag标志位置一,表示ARP请求成功。

10运行结果

烧录例程运行后,首先可以看到进行了PHY链路检测,然后打印了设置的网络地址信息,然后是执行ARP请求以及请求结果,如下图所示:

wKgZO2iBq6WAHzMRAACDuUPiFiU402.png

11总结

文讲解了如何在 W55MH32芯片上通过 MAC RAW模式实现 ARP协议,将 IP地址解析为 MAC地址,通过实战例程展示了从发送 ARP请求到接收并处理响应的完整过程。文章详细介绍了 MAC RAW模式和 ARP协议的概念、特点、工作流程、应用场景、安全风险及防护措施和报文格式,帮助读者理解其在局域网通信中的实际应用价值。

下一篇文章将聚焦 FTP协议服务器模式,解析其核心原理及在文件传输中的应用,同时讲解如何在相关设备上搭建 FTP服务器,敬请期待!

WIZnet是一家无晶圆厂半导体公司,成立于 1998年。产品包括互联网处理器 iMCU™,它采用 TOE(TCP/IP卸载引擎)技术,基于独特的专利全硬连线 TCP/IP。iMCU™面向各种应用中的嵌入式互联网设备。

WIZnet在全球拥有 70多家分销商,在香港、韩国、美国设有办事处,提供技术支持和产品营销。

香港办事处管理的区域包括:澳大利亚、印度、土耳其、亚洲(韩国和日本除外)。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45340

    浏览量

    663434
  • ARP
    ARP
    +关注

    关注

    0

    文章

    51

    浏览量

    15275
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    第十七章 SPI——读写串行FLASH

    本章介绍SPI协议,其为高速全双工通信总线,含物理层、协议层内容,还讲解W55MH32的SPI特性、初始化及DMA相关配置。
    的头像 发表于 06-19 17:06 1047次阅读
    <b class='flag-5'>第十七章</b> SPI——读写串行FLASH

    第十七章 SPI

    本篇文章介绍了W55MH32的SPI接口,可工作于SPI或I2S模式,支持半 / 全双工、主从操作,具可编程时钟极性/相位等特征。阐述了主从模式配置、DMA 通信等,介绍相关例程用于验证数据传输功能。
    的头像 发表于 05-28 17:29 939次阅读
    <b class='flag-5'>第十七章</b> SPI

    "STM32H7学习继续(STM32H7系列5)第十七章比较实用,以后写程序的时候会用到"

    "STM32H7学习继续(STM32H7系列5)第十七章比较实用,以后写程序的时候会用到"
    发表于 12-05 11:21 9次下载
    "STM32H7学习继续(STM32H7系列5)<b class='flag-5'>第十七章</b>比较实用,以后写程序的时候会用到"

    第二 W55MH32 DHCP示例

    本文介绍 DHCP 协议,包括其在 IP 网络自动分配参数的功能、便捷配置等特点、工作原理、报文格式和应用场景。通过 W55MH32 实战例程展示动态获取网络地址信息过程,含注册定时器中断、启用模式和获取信息等步骤,烧录后可完成检测与信息打印,PC 端能 PING 通设备。
    的头像 发表于 07-24 09:02 579次阅读
    第二<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> DHCP<b class='flag-5'>示例</b>

    第五 W55MH32 UDP示例

    本文介绍了在 W55MH32 芯片上实现 UDP 通信及数据回环测试的方法。阐述了 UDP 协议的概念、特点、应用场景、报文传输流程和报文结构,展示了实现过程,借助网络调试工具完成测试。
    的头像 发表于 07-24 09:13 644次阅读
    第五<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> UDP<b class='flag-5'>示例</b>

    第九 W55MH32 HTTP Server示例

    本文介绍了在 W55MH32 芯片上实现 HTTP Server 功能,并通过浏览器修改其网络地址信息的方法。阐述了 HTTP 协议的概念、特点、应用场景、工作流程、请求方法、响应内容,以及 Web 页面构成和交互方式。展示了在W55MH32上实现的过程。
    的头像 发表于 07-24 09:35 637次阅读
    第九<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> HTTP Server<b class='flag-5'>示例</b>

    第十章 W55MH32 SNTP示例

    本文讲解了如何在W55MH32芯片上实现SNTP授时功能,通过实例详细展示了从SNTP服务器同步时间的实现流程,包括时间请求、响应解析和本地时间校准等核心步骤。文章还对SNTP的应用场景进行了分析,帮助读者理解其在时间同步中的实际应用价值。
    的头像 发表于 07-24 09:43 846次阅读
    <b class='flag-5'>第十章</b> <b class='flag-5'>W55MH32</b> SNTP<b class='flag-5'>示例</b>

    第十一章 W55MH32 SMTP示例

    本文讲解了如何在 W55MH32 芯片上实现 SMTP 协议,通过实例详细展示了在该芯片上使用 SMTP 协议发送电子邮件的实现流程,包括 SMTP 发送内容初始化、使用 DNS 协议解析 SMTP
    的头像 发表于 07-24 09:49 1001次阅读
    <b class='flag-5'>第十</b>一章 <b class='flag-5'>W55MH32</b> SMTP<b class='flag-5'>示例</b>

    第十二章 W55MH32 NetBIOS示例

    本文讲解了如何在 W55MH32 芯片上实现 NetBIOS 功能,通过实战例程展示了利用 NetBIOS 进行名称 PING 测试的具体过程,包括 NetBIOS 功能的调用、请求处理、名称解析
    的头像 发表于 07-24 09:58 559次阅读
    <b class='flag-5'>第十二章</b> <b class='flag-5'>W55MH32</b> NetBIOS<b class='flag-5'>示例</b>

    第十四章 W55MH32 TFTP示例

    本文讲解了如何在 W55MH32 芯片上实现 TFTP 协议,通过实战例程详细展示了使用 TFTP 客户端模式从服务器获取文本文件的过程,涵盖 TFTP 初始化、发送读请求、运行协议并处理结果等核心
    的头像 发表于 07-24 10:37 622次阅读
    <b class='flag-5'>第十</b>四章 <b class='flag-5'>W55MH32</b> TFTP<b class='flag-5'>示例</b>

    第十五章 W55MH32 SNMP示例

    本文讲解了如何在 W55MH32 芯片上实现 SNMP 功能,通过实战例程展示了使用 MIB Browser 管理 W55MH32 的具体过程,涵盖在 MIB Browser 中创建分支、添加叶子
    的头像 发表于 07-24 10:43 698次阅读
    <b class='flag-5'>第十五章</b> <b class='flag-5'>W55MH32</b> SNMP<b class='flag-5'>示例</b>

    第十六章 W55MH32 PING示例

    本文讲解了如何在 W55MH32 芯片上通过 IPRAW 模式实现 ICMP 协议中的 PING 命令,以进行网络连通性测试,通过实战例程展示了从发送 PING 请求、接收并解析回复到统计结果的完整
    的头像 发表于 07-24 11:41 499次阅读
    <b class='flag-5'>第十</b>六章 <b class='flag-5'>W55MH32</b> PING<b class='flag-5'>示例</b>

    第十八章 W55MH32 FTP_Server示例

    本文讲解了如何在 W55MH32 芯片上实现 FTP 协议的服务器模式,通过实战例程展示了使用 W55MH32 作为 FTP 服务器与 PC 端进行文件传输、目录操作等功能的过程,涵盖获取网络配置
    的头像 发表于 07-24 11:55 448次阅读
    <b class='flag-5'>第十</b>八章 <b class='flag-5'>W55MH32</b> FTP_Server<b class='flag-5'>示例</b>

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

    本文讲解了如何在 W55MH32 芯片上实现上位机搜索和配置功能,通过实战例程展示了使用开源上位机配置工具 SmartConfigTool 搜索局域网中的 W55MH32 并进行网络地址配置的过程
    的头像 发表于 07-24 16:13 582次阅读
    第二十六章 <b class='flag-5'>W55MH32</b> 上位机搜索和配置<b class='flag-5'>示例</b>

    第二十七章 W55MH32 Interrupt示例

    本文讲解了如何在 W55MH32 芯片上使用 TOE 中断功能并进行回环数据测试,通过实战例程展示了从初始化中断引脚、处理中断、开启中断功能到在主循环中运行 TCP 回环服务器的完整过程。文章详细
    的头像 发表于 07-24 16:14 481次阅读
    第二<b class='flag-5'>十七章</b> <b class='flag-5'>W55MH32</b> Interrupt<b class='flag-5'>示例</b>