女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

第十一章 W55MH32 SMTP示例

W55MH32 ? 來源:W55MH32 ? 作者:W55MH32 ? 2025-07-24 09: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的無限可能。

wKgZO2iBkFiABouxAADcSxdhb94413.png

第十一章 W55MH32 SMTP示例

本篇文章,我們將詳細介紹如何在W55MH32芯片上面實現SMTP協議。并通過實戰例程,為大家講解如何在W55MH32上使用SMTP協議給他人發送電子郵件。

該例程用到的其他網絡協議,例如DHCP和DNS,請參考相關章節。有關W55MH32的初始化過程,請參考Network Install 章節,這里將不再贅述。

1 SMTP協議簡介

SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議)是一種用于電子郵件傳輸的通信協議。它是互聯網標準協議之一,專門設計用于電子郵件的發送和路由。SMTP定義了郵件如何從發件人發送到收件人的電子郵件服務器,并規范了服務器之間的郵件中繼操作。

2 SMTP協議特點

面向文本:SMTP協議使用純文本命令和響應(如HELO、MAIL FROM、RCPT TO等)來進行通信,郵件內容通常是以ASCII碼表示。

請求-響應模式:SMTP通信是基于請求-響應模型的,客戶端發送請求,服務器根據請求返回響應。

基于TCP:SMTP依賴于TCP協議來提供可靠的數據傳輸服務。SMTP會通過TCP建立連接并發送郵件。

廣泛兼容性:SMTP是國際標準郵件傳輸協議,廣泛應用于郵件系統,確保不同系統間高效互通。

高效性與可靠性:SMTP協議簡單易用,支持錯誤處理和重試機制。郵件無法發送時,可暫存隊列并重試,確保傳輸可靠。

可擴展性:通過擴展SMTP協議的命令和響應碼,可以支持更多的郵件傳輸特性和功能。

安全性:SMTP本身不處理加密,但可結合 SSL/TLS(SMTPS)提供加密通道,保障郵件傳輸的安全性。

異步傳輸:SMTP支持異步傳輸,使郵件發送和接收可在不同時間進行,提升效率并支持批量處理。

靈活性:SMTP設計靈活,可配置郵件路由、優先級、大小限制等,以滿足不同需求。

3 SMTP應用場景

接下來,我們了解下在W55MH32上,可以使用SMTP協議完成哪些操作及應用呢?

物聯網IoT)設備遠程監控:使用W55MH32實現SMTP通信,收集傳感器數據,并發送定期報告或警報郵件。

環境監測系統:W55MH32通過SMTP協議將監測數據(如溫濕度、CO2濃度等)發送到指定的郵箱,確保及時獲取信息。

設備狀態報告與日志記錄:通過定時任務觸發W55MH32每隔一段時間自動發送設備的狀態報告或運行日志到管理人員郵箱。

遠程故障報警與支持:結合傳感器和W55MH32的郵件發送功能,可以實現自動報警,減少人工干預的需要。

工業自動化和遠程監控:使用W55MH32連接到互聯網,并利用SMTP協議將設備狀態、報警等信息發送到指定的郵箱。

遠程控制反饋:通過W55MH32接收郵件,解析郵件命令并執行相應操作,然后通過SMTP將執行結果反饋給發送者。

SMTP發送郵件流程

使用TCP協議連接SMTP服務器

發送握手消息

發送用戶認證消息

設置郵件發送地址

傳輸郵件內容

完成郵件發送

4STMP協議的主要命令

wKgZO2iBkFiABouxAADcSxdhb94413.png

SMTP服務器響應狀態碼

wKgZO2iBkFmAOLpXAAELofFEAAY248.png

、

5實現過程

接下來,我們在W55MH32上實現SMTP郵件發送功能。

注意:因為本示例需要訪問互聯網,請確保 W55MH32的配置能夠訪問互聯網。

步驟一:SMTP發送內容初始化

發送指令定義:

char    hello[50]     = "HELO localhost";                   // Identity command
char    hello_reply[] = "250 OK";                           // Id successfully responded
char    AUTH[50]      = "AUTH LOGIN";                       // Authentication request
char    AUTH_reply[]  = "334 dXNlcm5hbWU6";                 // The authentication request was successfully 
sent
char    name_126[100] = "[email protected]";                 // 126 Login email address
char    base64name_126[200];                                // 126 base64 encoding of the login mailbox name
char    name_reply[]     = "334 UGFzc3dvcmQ6";              // The login name was sent successfully
char    password_126[50] = "ZPURADLGRUPQLVBK";              // 126 Email login password
char    base64password_126[100];                            // base64 123 Password for logging in to the 
mailbox
char    password_reply[] = "235 Authentication successful"; // Login successful response
char    from[]           = "[email protected]";              // Sender email
char    from_reply[]     = "250 Mail OK";
char    to[]             = "[email protected]";             // Recipient email address
char    to_reply[]       = "250 Mail OK";
char    data_init[10]    = "data";                          // Request data transfer
char    data_reply[]     = "354";                           // The request was successfully responded to 
HEAD
char    Cc[]             = "";                              // Cc to email
char    subject[]        = "Hello!WIZnet!";                 // subject
char    content[]        = "Hello!WIZnet!";                 // text part
char    mime_reply[]     = "250 Mail OK queued as";         // The email was sent successfully
char    mailfrom[50]     = "MAIL FROM:";
char    rcptto[50]       = "rcpt to:";
char    mime[200]        = "From:rn";
char    mime1[50]        = "To:rn";
char    mime2[50]        = "Cc:rn";
char    mime3[50]        = "Subject:rn";
char    mime4[50]        = "MIME-Version:1.0rnContent-Type:text/plainrnrn";
char    mime5[50]        = "rn.rn";

步驟二:發送郵件內容初始化:

mailmessage(); // Mail command information processing

mailmessage()函數內容如下:

void mailmessage(void)
{
   uint16_t len_from = strlen(from);
   uint16_t len_to   = strlen(to);
   uint16_t len_Cc   = strlen(Cc);
   uint16_t len_sub  = strlen(subject);
   strcat(hello, "rn");
   strcat(AUTH, "rn");
   base64encode(name_126, base64name_126);
   base64encode(password_126, base64password_126);
   strcat(base64name_126, "rn");
   strcat(base64password_126, "rn");
   str_insert(mailfrom, from, 11);
   strcat(mailfrom, "rn");
   str_insert(rcptto, to, 9);
   strcat(rcptto, "rn");
   strcat(data_init, "rn");
 
   str_insert(mime, from, 5);
   str_insert(mime1, to, 3);
   str_insert(mime2, Cc, 3);
   str_insert(mime3, subject, 8);
   str_insert(mime5, content, 0);
   strcat(mime, mime1);
   strcat(mime, mime2);
   strcat(mime, mime3);
   strcat(mime, mime4);
   strcat(mime, mime5);
}

步驟三:使用DNS協議解析SMTP服務器地址

if (do_dns(ethernet_buf, smtp_server_name, smtp_server_ip))
{
   while (1)
   {
   }
}

步驟四:SMTP發送郵件操作

while (1)
{
   do_smtp(SOCKET_ID, ethernet_buf, smtp_server_ip); // smtp run
}

do_smtp()函數內容如下:

void do_smtp(uint8_t sn, uint8_t *buf, uint8_t *smtp_server_ip)
{
 volatile uint8_t ret;
 uint32_t         len       = 0;
 uint16_t         anyport   = 5000;
 uint8_t          Smtp_PORT = 25;
 memset(buf, 0, ETHERNET_MAX_BUF_SIZE);
 switch (getSn_SR(sn))
 {
 case SOCK_INIT:
     ret = connect(sn, smtp_server_ip, Smtp_PORT);
     break;
 case SOCK_ESTABLISHED:
     if (getSn_IR(sn) & Sn_IR_CON)
     {
         setSn_IR(sn, Sn_IR_CON);
     }
     while (!Mail_Send_OK)
     {
         len = getSn_RX_RSR(sn);
         if (len > 0)
         {
             memset(buf, 0, ETHERNET_MAX_BUF_SIZE);
             len = recv(sn, (uint8_t *)buf, len);
             send_mail(sn, buf, smtp_server_ip);
         }
     }
     disconnect(sn);
     break;
 case SOCK_CLOSE_WAIT:
     if ((len = getSn_RX_RSR(sn)) > 0)
     {
         while (!Mail_Send_OK)
         {
             len = recv(sn, (uint8_t *)buf, len);
             send_mail(sn, buf, smtp_server_ip);
         }
     }
     disconnect(sn);
     break;
 case SOCK_CLOSED:
     socket(sn, Sn_MR_TCP, anyport++, 0x00);
     break;
 default:
     break;
 }
 if (Mail_Send_OK)
 {
     while (1)
     {
     }
 }
}

在該函數中,程序會執行一個 TCP Client模式的狀態機,詳細講解請參考TCP Client章節,這里不再贅述。當程序處于 SOCK_ESTABLISHED (即成功連接上SMTP服務器)狀態時,SMTP服務器會主動發送一條消息給W55MH32,當接收到這條消息后,進入send_mail()函數進行SMTP發送郵件流程:

send_mail()函數內容如下:

void send_mail(uint8_t sn, uint8_t *buf, uint8_t *smtp_server_ip)
{
   volatile uint8_t ret;
   switch (SMTP_STATE)
   {
   case waitfor220:
       if (strstr((const char *)buf, "220") != NULL)
       {
           ret        = send(sn, (uint8_t *)hello, strlen(hello));
           SMTP_STATE = waitforHELO250;
       }
       else
       {
           printf("Connected failed!rn");
       }
       break;
   case waitforHELO250:
       if (strstr((const char *)buf, hello_reply) != NULL && strstr((const char *)buf, "Mail") == NULL)
       {
           ret        = send(sn, (uint8_t *)AUTH, strlen(AUTH));
           SMTP_STATE = waitforAUTH334;
       }
       else
       {
           printf("smtp handshake failed!rn");
       }
       break;
   case waitforAUTH334:
       if (strstr((const char *)buf, AUTH_reply) != NULL)
       {
           ret        = send(sn, (uint8_t *)base64name_126, strlen(base64name_126));
           SMTP_STATE = waitforuser334;
       }
       else
       {
           printf("AUTH authentication request failed!rn");
       }
       break;
   case waitforuser334:
       if (strstr((const char *)buf, name_reply) != NULL)
       {
           ret        = send(sn, (uint8_t *)base64password_126, strlen(base64password_126));
           SMTP_STATE = waitforpassword235;
       }
       else
       {
           printf("username send failed!rn");
       }
       break;
   case waitforpassword235:
       if (strstr((const char *)buf, password_reply) != NULL)
       {
           ret        = send(sn, (uint8_t *)mailfrom, strlen(mailfrom));
           SMTP_STATE = waitforsend250;
       }
       else
       {
           printf("password error!rn");
       }
       break;
   case waitforsend250:
       if (strstr((const char *)buf, from_reply) != NULL && strstr((const char *)buf, "queued as") == NULL)
       {
           ret        = send(sn, (uint8_t *)rcptto, strlen(rcptto));
           SMTP_STATE = waitforrcpt250;
       }
       else
       {
           printf("Send email failed to set up!rn");
       }
       break;
   case waitforrcpt250:
       if (strstr((const char *)buf, to_reply) != NULL)
       {
           ret        = send(sn, (uint8_t *)data_init, strlen(data_init));
           SMTP_STATE = waitfordate354;
       }
       else
       {
           printf("Failed to set the receiving mailbox!rn");
       }
       break;
   case waitfordate354:
       if (strstr((const char *)buf, data_reply) != NULL)
       {
           ret        = send(sn, (uint8_t *)mime, strlen(mime));
           SMTP_STATE = waitformime250;
       }
       else
       {
           printf("Failed to send content setuprn");
       }
       break;
   case waitformime250:
       if (strstr((const char *)buf, mime_reply) != NULL)
       {
           Mail_Send_OK = 1;
           printf("mail send OKrn");
       }
       break;
   default:
       break;
   }
}

send_mail()中,會執行一個發送郵件的狀態機,流程如下圖所示:

wKgZO2iBkFmAHN3LAAGwXyczKhA211.png

1.SMTP握手:發送HELO命令,等待服務器返回250 OK響應碼,確認握手成功。

2.用戶認證:

(1)請求認證:發送AUTH LOGIN命令,表明客戶端需要認證,等待服務器返回334,請求用戶名。

(2)提交用戶名:發送經過Base64編碼的用戶名(如:base64name_126),等待服務器返回334,請求密碼。

(3)提交密碼:發送經過Base64編碼的密碼(如:base64password_126),等待服務器返回235,確認認證成功。

3.設置郵件發送地址:

(1) 設置發件人:發送MAIL FROM:<發件人郵箱>,等待服務器返回250,確認發件人地址成功設置。

(2) 設置收件人:發送RCPT TO:<收件人郵箱>,等待服務器返回250,確認收件人地址成功設置。

4.傳輸郵件內容:

(1) 請求數據傳輸:發送DATA命令,表明開始傳輸郵件數據,等待服務器返回354,表示已準備接收數據。

(2) 發送郵件數據:按以下格式發送郵件數據:

發件人信息:From:

收件人信息:To:

抄送信息:Cc:

郵件主題:Subject:

郵件內容:實際的文本部分

數據結束用rn.rn表示

等待服務器返回250,確認郵件內容已成功排隊

5.完成郵件發送:

如果服務器返回250,標志郵件成功發送。

設置Mail_Send_OK = 1,并打印提示信息mail send OK

6運行結果

燒錄例程運行后,首先進行了PHY鏈路檢測,接著是通過DHCP獲取網絡地址信息,然后是通過DNS解析SMTP服務器域名,最后是進行郵件發送,如下圖所示:

wKgZPGiBkFiAGT8HAACU1yBb1cw306.png

可以在設置接收郵件的賬號中查找接收到的郵件:

wKgZPGiBkFmAAoOhAAELofFEAAY126.png

通過wireshark抓包查看,流程與send_mail()函數一致。

wKgZO2iBkFiABouxAADcSxdhb94413.png

7總結

本文講解了如何在 W55MH32芯片上實現 SMTP協議,通過實例詳細展示了在該芯片上使用 SMTP協議發送電子郵件的實現流程,包括 SMTP發送內容初始化、使用 DNS協議解析 SMTP服務器地址、SMTP發送郵件操作等核心步驟。文章還對 SMTP協議的簡介、特點、應用場景,以及主要命令和服務器響應狀態碼進行了分析,幫助讀者理解其在郵件傳輸中的實際應用價值。

下一篇文章將介紹NetBIOS的原理及在網絡通信中的應用,同時講解如何在W55MH32芯片上實現NetBIOS功能,敬請期待!

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

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

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

審核編輯 黃宇

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

    關注

    0

    文章

    33

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    第二十一章 W55MH32 PHY配置示例

    本文講解了如何在 W55MH32?芯片上設置不同的 PHY?模式,通過實戰例程展示了根據不同傳輸場景,將 PHY?模式在 100Mbps?全雙工、10Mbps?半雙工和掉電模式之間切換以降
    的頭像 發表于 07-24 13:44 ?122次閱讀
    第二<b class='flag-5'>十一章</b> <b class='flag-5'>W55MH32</b> PHY配置<b class='flag-5'>示例</b>

    第十八章 W55MH32 FTP_Server示例

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

    第十七章 W55MH32 ARP示例

    文講解了如何在 W55MH32?芯片上通過 MAC RAW?模式實現 ARP?協議,將 IP?地址解析為 MAC?地址,通過實戰例程展示了從發送 ARP?請求到接收并處理響應的完整過程。文章詳細介紹
    的頭像 發表于 07-24 11:49 ?144次閱讀
    <b class='flag-5'>第十</b>七章 <b class='flag-5'>W55MH32</b> ARP<b class='flag-5'>示例</b>

    第十六章 W55MH32 PING示例

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

    第十五章 W55MH32 SNMP示例

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

    第十四章 W55MH32 TFTP示例

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

    第十三章 W55MH32 UPnP端口轉發示例

    本文講解了如何在 W55MH32?芯片上實現 UPnP?協議的端口轉發功能,通過實戰例程詳細展示了從設備搜索、獲取設備描述、訂閱事件到添加和刪除端口映射的完整流程,包括各步驟涉及的協議報文、函數實現
    的頭像 發表于 07-24 10:28 ?104次閱讀
    <b class='flag-5'>第十</b>三章 <b class='flag-5'>W55MH32</b> UPnP端口轉發<b class='flag-5'>示例</b>

    第十二章 W55MH32 NetBIOS示例

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

    第十W55MH32 SNTP示例

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

    第九章 W55MH32 HTTP Server示例

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

    第五章 W55MH32 UDP示例

    本文介紹了在 W55MH32?芯片上實現 UDP?通信及數據回環測試的方法。闡述了 UDP?協議的概念、特點、應用場景、報文傳輸流程和報文結構,展示了實現過程,借助網絡調試工具完成測試。
    的頭像 發表于 07-24 09:13 ?72次閱讀
    第五章 <b class='flag-5'>W55MH32</b> UDP<b class='flag-5'>示例</b>

    第二章 W55MH32 DHCP示例

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

    WIZnet W55MH32以太網單片機開發教程第十一章 通用定時器(下篇)

    本章為W55MH32通用定時器的下篇,介紹了TIM_InputCapture 等 4 個程序設計例程,涉及輸入捕獲、PWM 輸出、中斷測試、觸摸檢測等功能和例程下載驗證情況,如串口輸出、波形檢測等。
    的頭像 發表于 05-28 10:48 ?481次閱讀
    WIZnet <b class='flag-5'>W55MH32</b>以太網單片機開發教程<b class='flag-5'>第十一章</b> 通用定時器(下篇)

    WIZnet W55MH32以太網單片機開發教程 第十一章 通用定時器(上篇)

    本章介紹了W55MH32的通用定時器TIM2~TIM5,其由 16 位計數器等構成,具輸入捕獲等功能,有多種計數模式及時鐘選擇。對例程進行了講解并下載驗證,TIM9~14功能類似,詳見《W55MH32參考手冊》。
    的頭像 發表于 05-28 10:12 ?397次閱讀
    WIZnet <b class='flag-5'>W55MH32</b>以太網單片機開發教程 <b class='flag-5'>第十一章</b> 通用定時器(上篇)