精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

TCP client與TCP server該如何與PC端通信

倩倩 ? 來源:AT32 MCU 雅特力科技 ? 作者:AT32 MCU 雅特力科技 ? 2022-08-18 14:49 ? 次閱讀

概述

使用TCP執行通訊時,會有Server與Client的差別。Server是經由開啟特定的Port來等待來自Client端的連線需求;而Client端則是向Server端提出連線需求,此例程使用LwIP作為協議棧,可以使用tcp_bind(), tcp_listen()與tcp_accept()這三種系統呼叫來使Server端接受Client的連線要求。 本使用指南會分別說明TCP client與TCP server該如何與PC端通信

硬件資源

1) AT-START-F407 V1.0實驗板 2) DM9162以太網模塊 3) 以太網線

軟件資源

tcp_client, TCP client源程序,運行TCP客戶端程序

tcp_server, TCP server源程序,運行TCP服務端程序

AT32 TCP client/server程序設置

管腳配置

表1. 管腳配置

0f366a28-1ebb-11ed-ba43-dac502259ad0.png

LwIP設置

硬件資源只提供從PHY到MAC的信號處理,若要進行開發,則需要實作TCP/IP協議棧,在本應用中使用LwIP協議棧,該協議棧主要關注的是怎樣減少減少內存的使用和程序代碼的大小,這樣就可以讓LwIP適用于資源有限的小型平臺例如嵌入式系統,更詳細的內容可以訪問官方網站。 由于整個協議棧已經整合到代碼中,大部分的內容都無須修改,使用者只要根據自己的網段去設定IP地址及閘口地址即可,這兩個全局變量宣告在netconf.c的上頭。 圖1. 配置芯片的IP地址

0f5251f2-1ebb-11ed-ba43-dac502259ad0.png

TCP client project設置

在初始化LwIP協議棧之后,就可以配置TCP client的應用了,芯片作為客戶端是發出請求的一方,所以必須要配置往哪里發送數據,也就是說要知道服務端的socket。所謂的socket就是IP地址加上端口,在代碼中我們宣告了幾個宏定義代表服務端的socket,可以在tcp_client.h中找到TCP_SERVER_IP跟TCP_SERVER_PORT這兩個宏定義,用戶可以根據網段跟應用修改這兩個宏。 圖2. 配置服務端的socket

0f6a2ac0-1ebb-11ed-ba43-dac502259ad0.png

確認網段與服務端一致后,下載代碼到芯片上,服務器端會一秒打印一次”tcp client experiment!”,同時LED2, 3, 4也會跟著閃爍。

上位機服務端設置

1) 設定上位機的IP地址、網路屏蔽及閘口,IP地址與閘口需要跟芯片設置在同一個網段下。 2) 打開上位機端的服務器軟件,這里使用網路調適助手為例。協議類型選擇TCP server,本地IP地址為代碼中的TCP_SERVER_IP,本地端口號為代碼中的TCP_SERVER_PORT,按下連線即建立連線。 3)連線建立后,會出現以下畫面,不斷打印來自TCP client的數據。 圖3. 設置PC端的IP、網路屏蔽與閘口

0f834334-1ebb-11ed-ba43-dac502259ad0.png

圖4. 設置服務器軟件

0fa36614-1ebb-11ed-ba43-dac502259ad0.png

圖5. 接收TCP client的數據

0fc532ee-1ebb-11ed-ba43-dac502259ad0.png

TCP server project設置

在初始化LwIP協議棧之后,就可以配置TCP server的應用了,芯片作為客戶端是接受請求的一方,所以必須要配置在哪里接受數據,也就是說要開個端口給客戶端丟數據進來。在代碼中我們宣告了一個宏定義代表服務端的端口,可以在tcp_server.h中找到TCP_LOCAL_PORT這個宏定義,用戶可以根據應用修改這個宏。 圖6. 服務器端口的宏定義

0fd52c9e-1ebb-11ed-ba43-dac502259ad0.png

上位機客戶端設置

1) 設定上位機的IP地址、網路屏蔽及閘口,IP地址與閘口需要跟芯片設置在同一個網段下,請參考圖3。 2) 打開上位機端的服務器軟件,這里使用網路調適助手為例。協議類型選擇TCP client,服務器IP地址為芯片的IP地址,本地端口號為代碼中的TCP_LOCAL_PORT,按下連線即建立連線。 3) 此時會出現訊息在視窗中,可以透過調試助手下方的區塊輸入字符串發送給服務器,服務器會響應輸入的字符串到視窗中。 圖7. 設置上位機的客戶端軟件

0fe4a0a2-1ebb-11ed-ba43-dac502259ad0.png

圖8. 顯示訊息到視窗中并響應發送的字符串

0ff6a036-1ebb-11ed-ba43-dac502259ad0.png

關于雅特力 雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創新趨勢的芯片設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發與創新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內核,締造M4業界最高主頻288MHz運算效能,并支持工業級別芯片工作溫度范圍(-40°~105°)。 雅特力目前已累積相當多元的終端產品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數字電源、電動工具等終端設備應用,廣泛地覆蓋5G、物聯網、消費、商務及工控等領域。
審核編輯 :李倩

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

    關注

    40

    文章

    5385

    瀏覽量

    171161
  • 信號處理
    +關注

    關注

    48

    文章

    1005

    瀏覽量

    103205
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1351

    瀏覽量

    78995

原文標題:AT32講堂023 | AT32 MCU TCP client與TCP server如何與PC端通信

文章出處:【微信號:AT32 MCU 雅特力科技,微信公眾號:AT32 MCU 雅特力科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

    Modbus(TCP)轉Profinet從總線協議轉換網關(JM-TCP-PN)

    大家詳盡闡述設備的功能、參數以及具體的配置方式。 一,產品主要功能 1、捷米特JM-TCP-PN網關的核心功能是將Profinet協議轉換為Modbus TCP協議,使得Profi
    的頭像 發表于 08-16 10:14 ?311次閱讀
    Modbus(<b class='flag-5'>TCP</b>)轉Profinet從總線協議轉換網關(JM-<b class='flag-5'>TCP</b>-PN)

    基于OpenHarmony輕量級操作系統實現RK2206 WiFi-AP模式通信開發案例

    實驗內容 本示例將演示如何在小凌派-RK2206開發板上使用WiFi-AP模式(即將RK2206作為WiFi路由器),實現與PC進行TCP通信。 程序設計 API設計 FlashIn
    發表于 08-07 15:50

    RTOS V1.4版本SDK作為TCP Server沒有調用斷開連接的回調函數,為什么?

    硬件環境是:ESP-12F, 軟件環境是:RTOS V1.4版本 問題描述: 模塊作為STA,socket為TCP Server,當TCP Client連接到模塊的
    發表于 07-18 08:31

    ESP8266作Client建立TCP連接出現報錯?

    請教下,ESP8266作Client建立TCP連接,出現錯誤 是按照《4B-ESP8266__AT Command Examples__CN_v1.3》文檔上操作的 AT+CIPSTART
    發表于 07-17 07:16

    是否可以通過TCP連接發送AT命令?

    ;lt;-------------> iot embedded module 服務器可以通過活動的TCP連接向wifi模塊發送AT命令嗎?例如,用例..我想通過 wifi 重置 ESP 模塊 ESP - TCP 客戶
    發表于 07-17 06:17

    Labview Tcp Server one to many client(TCP調試助手服務

    一直想自己做一個TCP調試助手,苦于能力有限,終于簡單的功能讓我給實現了,還請大家幫忙看看,指出不足,謝謝 界面未作設計,控件簡單的放上去,有美工的同學可以幫忙做界面嗎? 有客戶連接,ip地址
    發表于 07-14 19:56

    請問TCP server如何做到在AP上偵聽?

    我現在的ESP8266是AP和STA共存模式,我按照sdk及sample中的示例建了一個TCP server,我的原意是這個TCP serer要在AP上偵聽的,但是我發現它卻是STA接口上偵聽,怎么辦?
    發表于 07-12 12:51

    請問esp8266 rtos sdk能否同時啟動tcp socke clent和udp server?

    我在用的是V1.5的rtos 的sdk,想在esp8266上同時啟動tcp的socket client和udp的socket server。 但是我發現,只要我一啟動upd server
    發表于 07-12 07:07

    如何同時在ESP8266上運行TCP客戶TCP服務?

    我們是 esp8266 的長期用戶,并在芯片上運行數千臺家庭自動化類別的現場設備。然而,一個小小的限制阻礙了我們開發一些更有趣和創新的產品。 要求:我們需要同時運行 TCP 客戶(連接
    發表于 07-08 08:26

    TCP_server例程斷開再次連接會失敗怎么處理?

    使用了TCP_server的例程,發現當電腦作為客戶端去連接esp32(服務器)斷開連接之后再次連接時候連不上,發現:提示已經連接上esp32發出的熱點,但是網絡助手顯示連接失敗(監聽串口失敗
    發表于 06-28 06:49

    ESP32設備偶爾會出現PCTCP已經回應了數據,但ESP32不能立刻收到,為什么?

    我們使用ESP32的一個設備,最近測試中發現一個問題,偶爾會出現PCTCP已經回應了數據,但ESP32不能立刻收到,需要延遲一段時間才能收到,有時會延遲2-3秒,對設備的反應時間有
    發表于 06-19 06:12

    無線模塊通過TCP/IP協議實現與PC的數據傳輸解析

    在當今的信息時代,無線通信技術的發展日新月異,為我們的工作和生活帶來了極大的便利。其中,無線通信模塊通過TCP/IP協議向PC傳送數據已經
    的頭像 發表于 06-15 16:16 ?433次閱讀

    無線通信模塊通過TCP/IP協議實現與PC的數據傳輸

    在當今的信息時代,無線通信技術的發展日新月異,為我們的工作和生活帶來了極大的便利。其中,無線通信模塊通過TCP/IP協議向PC傳送數據已經
    的頭像 發表于 05-11 15:44 ?564次閱讀

    如何使用Vitis自帶的LWIP模板進行PS千兆以太網TCP通信?

    開發板有兩路千兆以太網,通過RGMII接口連接,本實驗演示如何使用Vitis自帶的LWIP模板進行PS千兆以太網TCP通信
    的頭像 發表于 04-28 10:44 ?3090次閱讀
    如何使用Vitis自帶的LWIP模板進行PS<b class='flag-5'>端</b>千兆以太網<b class='flag-5'>TCP</b><b class='flag-5'>通信</b>?