在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于MM32F3270以太網UDP使用

jf_pJlTbmA9 ? 來源:靈動MM32MCU ? 作者:靈動MM32MCU ? 2023-09-27 15:42 ? 次閱讀

UDP(User Datagram Protocol用戶數據報協議)是一種無連接、不可靠的協議。UDP協議沒有流控制,沒有應答確認機制,不能解決丟包、重發、錯序問題。它只是簡單地實現從一端主機到另一端主機的數據傳輸功能,數據通過IP層發送,在網絡中傳輸,到達目標主機的順序是無法預知的,因此需要應用程序對這些數據進行排序處理。在發送端,UDP只是把上層應用的數據封裝到UDP報文中;在差錯檢測方面,僅僅是對數據進行了簡單的校驗,然后將其封裝到IP數據報中發送出去。在接收端,無論是否收到數據,都不會產生一個應答返回送給源主機。如果接收到數據校驗錯誤,接收端丟棄該UDP報文,也不會告訴源主機,這樣數據是無法保障其準確性的。但是在如今的網絡環境下,UDP協議傳輸出現錯誤的概率很小,并且它的實時性是非常好,常用于實時視頻的傳輸,比如直播、網絡電話等,即使是出現了數據丟失的情況,導致視頻卡幀,也不會產生大的影響。UDP被廣泛應用于與對傳輸速度有要求,并且可以容忍出現差錯的數據傳輸中。

對于UDP通信來說,可以沒有服務器,服務器只是一種規定。主動發送的一方為客戶端,被動接受的一方為服務器(下圖為通信過程,程序也是按照這個步驟進行設計)。

pYYBAGIB1_6AcQFGAABvU9Hnrk0567.png

實驗使用MB-039開發板,在工程中使用LwIP+FreeRTOS,實驗展示如何實現UDP數據收發,實驗使用到的硬件如下:

poYBAGIB1SyAHYynAAG39uXw7q0489.png

如圖是MB-039(完整原理圖可以通過MM32官網下載)的ETH部分接口電路。

各個信號引腳對應如下:

pYYBAGIB1S6AEqaVAAAOapdym_Y980.png
poYBAGIB1TGAFwREAAi12qR49zc411.png

實驗用到的API前面幾節已經進行了講解,我們直接創建UDP工程:

static void udpecho_thread(void* arg)
{
    struct netconn* conn;
    struct netbuf* buf;
    char buffer[4096];
    err_t err;
    LWIP_UNUSED_ARG(arg);

    conn = netconn_new(NETCONN_UDP);        // (1)
    netconn_bind(conn, IP_ADDR_ANY, LOCAL_PORT);   // (2)

    while (1) {
        err = netconn_recv(conn,  buf);          // (3)
        if (err == ERR_OK) {
            if(netbuf_copy(buf, buffer, sizeof(buffer)) != buf->p->tot_len) {   // (4)
                LWIP_DEBUGF(LWIP_DBG_ON, ("copy failedn"));
            }
            else {
                buffer[buf->p->tot_len] = '?';
                err = netconn_send(conn, buf);                 // (5)
                if(err != ERR_OK) {
                   LWIP_DEBUGF(LWIP_DBG_ON, ("netconn_send failed: %dn", (int)err));
                }
                else {
                    LWIP_DEBUGF(LWIP_DBG_ON, ("got %sn", buffer));
                }
            }
            netbuf_delete(buf);
        }
    }
}

1)創建一個UDP類型的連接結構

2)綁定IP地址與端口

3)接收客戶端發送的數據(值得指出的是UDP可以一對一,也可以一對多以廣播的形式發送)

4)拷貝出接收的數據

5)將數據發送給目標主機

到這里已經完成了工程的創建,看一下PC的IP地址,設備需要處于同一網段,以方便測試。打開命令行窗口輸入:ipconfig

pYYBAGIB1TOARaWcAAEnlBhO5H8936.png

PC的地址為:192.168.105.34,在sys_arch.h文件中對DEST_IP_ADDR0 、DEST_IP_ADDR1、DEST_IP_ADDR2、DEST_IP_ADDR3進行修改,DEST_PORT 隨意修改。

#define LOCAL_PORT                 2021

#define IP_ADDR0                    192
#define IP_ADDR1                    168
#define IP_ADDR2                    105
#define IP_ADDR3                    35

將程序下載入開發板中,使用NetAssist進行如下設置:

1)協議設置,選擇UDP

2)本機主機地址(即PC地址)

3)端口號

4)設置遠程主機地址(即設備地址)

poYBAGIB2BKAIoNjAAFIBTLd7ms959.png

點擊打開,在進行這一步前可以則Ping一下開發板地址,可以正常Ping通則檢查端口號;如果無法Ping通則需要對工程進行檢查。任意輸入字符進行發送。

pYYBAGIB2BSAa2rHAAHr1QEK3V0662.png

可以發現對接收到的數據進行了正確的轉發,我們也可以使用Wireshark進行監視抓取整個過程,選擇IP過濾:ip.addr==192.168.105.35。

pYYBAGIB2BaAe7FBAAO0qJYw_WE985.png

通過上圖表明實驗成功。

實驗程序請登錄我們的官網下載MM32F3270 SDK,工程路徑如下:

~MM32F3270_Lib_Samples_V0.90Demo_appEthernet_DemoETH_RTOSFreertos_UDP

來源:靈動MM32MCU

審核編輯:湯梓紅

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

    關注

    146

    文章

    17642

    瀏覽量

    357132
  • 服務器
    +關注

    關注

    12

    文章

    9556

    瀏覽量

    86864
  • UDP
    UDP
    +關注

    關注

    0

    文章

    329

    瀏覽量

    34332
收藏 人收藏

    評論

    相關推薦

    靈動微課堂 (第184講) | 基于MM32F3270 以太網 UDP使用

    _Lib_Samples_V0.90\Demo_app\Ethernet_Demo\ETH_RTOS\Freertos_UDP我們下節的題目為《基于MM32F3270以太網Client的使用》。
    發表于 10-18 11:13

    MM32F3270系列32位MCU的特點有哪些

    上海靈動微電子推出全新主流型MM32F3270系列32位MCU,此款MM32F3270系列是基于M3內核的32位微控制器,MM32F3270適用于要求高集成度的高性能控制領域,如:工業控制、消防監控
    發表于 11-03 07:20

    靈動微電子MM32F3270系列MCU的特點介紹

    上海靈動微電子推出全新主流型MM32F3270系列32位MCU,此款MM32F3270系列是基于M3內核的32位微控制器,MM32F3270適用于要求高集成度的高性能控制領域,如:工業控制、消防監控
    發表于 03-22 16:57 ?2253次閱讀

    【國產MCU移植】MM32F3270 EVBoard

    【國產MCU移植】MM32F3270 EVBoard
    發表于 12-03 17:21 ?5次下載
    【國產MCU移植】<b class='flag-5'>MM32F3270</b> EVBoard

    基于MM32F3270 以太網 Client使用

    接下來給大家介紹基于TCP包的通訊。內容分為基于MM32F3270以太網Client的使用與基于MM32F3270以太網Server的使用。
    發表于 02-08 15:10 ?0次下載
    基于<b class='flag-5'>MM32F3270</b> <b class='flag-5'>以太網</b> Client使用

    基于MM32F3270以太網 UDP使用

    UDP協議沒有流控制,沒有應答確認機制,不能解決丟包、重發、錯序問題。它只是簡單地實現從一端主機到另一端主機的數據傳輸功能,數據通過IP層發送,在網絡中傳輸,到達目標主機的順序是無法預知的,因此需要應用程序對這些數據進行排序處理。
    發表于 02-08 15:13 ?0次下載
    基于<b class='flag-5'>MM32F3270</b><b class='flag-5'>以太網</b> <b class='flag-5'>UDP</b>使用

    MM32F3270 勘誤表(中文版)

    MM32F3270 勘誤表(中文版)
    發表于 02-23 18:42 ?0次下載
    <b class='flag-5'>MM32F3270</b> 勘誤表(中文版)

    MM32F3270 ADC注入通道

    MM32F3270 ADC注入通道
    的頭像 發表于 09-27 15:59 ?1149次閱讀
    <b class='flag-5'>MM32F3270</b> ADC注入通道

    使用MM32F3270 FSMC驅動OLED

    使用MM32F3270 FSMC驅動OLED
    的頭像 發表于 09-27 15:30 ?1225次閱讀
    使用<b class='flag-5'>MM32F3270</b> FSMC驅動OLED

    使用MM32F3270 FSMC驅動TFT-LCD

    使用MM32F3270 FSMC驅動TFT-LCD
    的頭像 發表于 09-27 15:34 ?1382次閱讀
    使用<b class='flag-5'>MM32F3270</b> FSMC驅動TFT-LCD

    基于MM32F3270以太網HTTP使用

    基于MM32F3270以太網HTTP使用
    的頭像 發表于 09-27 15:48 ?707次閱讀
    基于<b class='flag-5'>MM32F3270</b><b class='flag-5'>以太網</b>HTTP使用

    基于MM32F3270以太網Server使用

    基于MM32F3270以太網Server使用
    的頭像 發表于 09-27 15:46 ?622次閱讀
    基于<b class='flag-5'>MM32F3270</b><b class='flag-5'>以太網</b>Server使用

    基于MM32F3270以太網Client使用

    基于MM32F3270以太網Client使用
    的頭像 發表于 09-27 15:44 ?849次閱讀
    基于<b class='flag-5'>MM32F3270</b><b class='flag-5'>以太網</b>Client使用

    基于MM32F3270以太網Server_Socket使用

    基于MM32F3270以太網Server_Socket使用
    的頭像 發表于 09-27 15:41 ?596次閱讀
    基于<b class='flag-5'>MM32F3270</b><b class='flag-5'>以太網</b>Server_Socket使用

    基于MM32F3270以太網Client_Socket使用

    基于MM32F3270以太網Client_Socket使用
    的頭像 發表于 09-27 15:37 ?656次閱讀
    基于<b class='flag-5'>MM32F3270</b><b class='flag-5'>以太網</b>Client_Socket使用
    主站蜘蛛池模板: 黄色网址网站在线观看 | 日本一本在线视频 | 欧美三级手机在线 | 国产精品久久久久久久免费大片 | 色多多最新地址福利地址 | 久久亚洲精品成人综合 | 亚洲国产精品久久网午夜 | 国产成人毛片毛片久久网 | 色淫阁色九九 | 91av在线视频观看 | 在线免费日韩 | 欧美zo | 国产精品美女久久久久网站 | 男人透女人超爽视频免费 | 3344在线观看永久免费 | 四虎最新视频 | 手机在线观看你懂的 | 欧美性精品videofree | 91福利免费视频 | 欧美一级特黄aaa大片 | 色婷婷一区二区三区四区成人网 | 日本不卡一区视频 | 人人干人人干 | 天天爽夜夜爽精品视频一 | 可以直接看的黄色网址 | 男男生子大肚play做到生 | 成人18毛片 | 无毒在线| 精品国产第一页 | 婷婷色综合网 | 怡红院免费va男人的天堂 | 国内视频一区二区 | 亚洲综合色就色手机在线观看 | 亚洲jizzjizz中文在线播放 | 久久国产精品自在自线 | 丁香婷婷激情五月 | 成年人午夜影院 | 在线观看免费xx高清视频 | 免费大片黄国产在线观看 | 3344成年在线视频免费播放男男 | 天天操夜夜做 |