91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

AT32講堂023 | AT32 MCU TCP client與TCP server如何與PC端通信

雅特力 AT32 MCU ? 2022-08-19 09:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

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

硬件資源

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

軟件資源

tcp_client, TCP client源程序,運(yùn)行TCP客戶端程序

tcp_server, TCP server源程序,運(yùn)行TCP服務(wù)端程序

AT32 TCP client/server程序設(shè)置

管腳配置

表1. 管腳配置6557c0a8-1f1c-11ed-9ade-dac502259ad0.png

LwIP設(shè)置

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

TCP client project設(shè)置

在初始化LwIP協(xié)議棧之后,就可以配置TCP client的應(yīng)用了,芯片作為客戶端是發(fā)出請求的一方,所以必須要配置往哪里發(fā)送數(shù)據(jù),也就是說要知道服務(wù)端的socket。所謂的socket就是IP地址加上端口,在代碼中我們宣告了幾個宏定義代表服務(wù)端的socket,可以在tcp_client.h中找到TCP_SERVER_IP跟TCP_SERVER_PORT這兩個宏定義,用戶可以根據(jù)網(wǎng)段跟應(yīng)用修改這兩個宏。圖2. 配置服務(wù)端的socket6589c9ae-1f1c-11ed-9ade-dac502259ad0.png確認(rèn)網(wǎng)段與服務(wù)端一致后,下載代碼到芯片上,服務(wù)器端會一秒打印一次”tcp client experiment!”,同時LED2, 3, 4也會跟著閃爍。

上位機(jī)服務(wù)端設(shè)置

1) 設(shè)定上位機(jī)的IP地址、網(wǎng)路屏蔽及閘口,IP地址與閘口需要跟芯片設(shè)置在同一個網(wǎng)段下。2) 打開上位機(jī)端的服務(wù)器軟件,這里使用網(wǎng)路調(diào)適助手為例。協(xié)議類型選擇TCP server,本地IP地址為代碼中的TCP_SERVER_IP,本地端口號為代碼中的TCP_SERVER_PORT,按下連線即建立連線。3)連線建立后,會出現(xiàn)以下畫面,不斷打印來自TCP client的數(shù)據(jù)。圖3. 設(shè)置PC端的IP、網(wǎng)路屏蔽與閘口659c7d88-1f1c-11ed-9ade-dac502259ad0.png圖4. 設(shè)置服務(wù)器軟件65a5f2dc-1f1c-11ed-9ade-dac502259ad0.png圖5. 接收TCP client的數(shù)據(jù)65b6b392-1f1c-11ed-9ade-dac502259ad0.png

TCP server project設(shè)置

在初始化LwIP協(xié)議棧之后,就可以配置TCP server的應(yīng)用了,芯片作為客戶端是接受請求的一方,所以必須要配置在哪里接受數(shù)據(jù),也就是說要開個端口給客戶端丟數(shù)據(jù)進(jìn)來。在代碼中我們宣告了一個宏定義代表服務(wù)端的端口,可以在tcp_server.h中找到TCP_LOCAL_PORT這個宏定義,用戶可以根據(jù)應(yīng)用修改這個宏。圖6. 服務(wù)器端口的宏定義65c0640a-1f1c-11ed-9ade-dac502259ad0.png

上位機(jī)客戶端設(shè)置

1) 設(shè)定上位機(jī)的IP地址、網(wǎng)路屏蔽及閘口,IP地址與閘口需要跟芯片設(shè)置在同一個網(wǎng)段下,請參考圖3。2) 打開上位機(jī)端的服務(wù)器軟件,這里使用網(wǎng)路調(diào)適助手為例。協(xié)議類型選擇TCP client,服務(wù)器IP地址為芯片的IP地址,本地端口號為代碼中的TCP_LOCAL_PORT,按下連線即建立連線。3) 此時會出現(xiàn)訊息在視窗中,可以透過調(diào)試助手下方的區(qū)塊輸入字符串發(fā)送給服務(wù)器,服務(wù)器會響應(yīng)輸入的字符串到視窗中。圖7. 設(shè)置上位機(jī)的客戶端軟件65dc25be-1f1c-11ed-9ade-dac502259ad0.png圖8. 顯示訊息到視窗中并響應(yīng)發(fā)送的字符串65ea28e4-1f1c-11ed-9ade-dac502259ad0.png

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

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

    關(guān)注

    147

    文章

    18917

    瀏覽量

    397926
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6389

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    TCP和UDP的區(qū)別

    相比,TCP 有三大核心特性: 1、面向連接。所謂的連接,指的是客戶和服務(wù)器的連接,在雙方互相通信之前,TCP 需要三次握手建立連接,而 UDP 沒有相應(yīng)建立連接的過程。 2、
    發(fā)表于 12-09 07:24

    雅特力AT32 MCU推動低空經(jīng)濟(jì)發(fā)展

    雅特力AT32系列MCU憑借288MHz主頻與高精度外設(shè),為無人機(jī)飛控、電調(diào)及云臺提供核心算力支持,實現(xiàn)厘米級定位與高效動力控制,顯著提升在電力巡檢、農(nóng)林植保等低空經(jīng)濟(jì)場景下的作業(yè)精度與可靠性,助力產(chǎn)業(yè)智能化升級。
    的頭像 發(fā)表于 12-04 09:53 ?1654次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>推動低空經(jīng)濟(jì)發(fā)展

    Profinet從轉(zhuǎn)Modbus(TCP)主總線協(xié)議轉(zhuǎn)換網(wǎng)關(guān)

    和Modbus(TCP)從站網(wǎng)絡(luò)網(wǎng)絡(luò)設(shè)備連接,?從而實現(xiàn)不同工業(yè)通信協(xié)議之間的相互轉(zhuǎn)換??芍С諱odbus TCP Client和Modbus TC
    的頭像 發(fā)表于 09-18 14:57 ?588次閱讀
    Profinet從轉(zhuǎn)Modbus(<b class='flag-5'>TCP</b>)主總線協(xié)議轉(zhuǎn)換網(wǎng)關(guān)

    【HZ-RK3568開發(fā)板免費(fèi)體驗】--TCP通訊

    本篇實現(xiàn)客戶(client)與服務(wù)(server)數(shù)據(jù)通訊收發(fā)功能。 一.TCP通訊流程 服務(wù)
    發(fā)表于 08-24 18:34

    快速通關(guān)上位機(jī)TCP通信:上位機(jī)通信防崩指南

    以太網(wǎng) TCP 通信是上位機(jī)開發(fā)中常用的通信方式,西門子 S7 通信、三菱 MC 通信以及 MQTT、OPC UA、Modbus
    的頭像 發(fā)表于 08-13 13:40 ?998次閱讀
    快速通關(guān)上位機(jī)<b class='flag-5'>TCP</b><b class='flag-5'>通信</b>:上位機(jī)<b class='flag-5'>通信</b>防崩指南

    AT32 MCU如何使用IAP

    AT32 MCU使用IAP的方法涉及在微控制器上創(chuàng)建特定固件,以實現(xiàn)在應(yīng)用編程(In-Application Programming,簡稱IAP)功能,主要通過USART通信接口進(jìn)行固件更新操作
    發(fā)表于 08-08 17:13

    GraniStudio : TCP/IP(Socket)協(xié)議深度剖析

    (Socket)客戶與服務(wù)器模塊,通過高度封裝的可視化功能,將復(fù)雜的套接字通信邏輯轉(zhuǎn)化為簡單的 “拖拽式” 操作,為工業(yè)用戶構(gòu)建穩(wěn)定、高效的網(wǎng)絡(luò)通信系統(tǒng)提供了強(qiáng)大支撐。本文將從技術(shù)原理、功能實現(xiàn)、應(yīng)用場景三個維度,深入解析 G
    的頭像 發(fā)表于 08-03 22:20 ?1186次閱讀
    GraniStudio : <b class='flag-5'>TCP</b>/IP(Socket)協(xié)議深度剖析

    Modbus TCP 轉(zhuǎn) Modbus RTU電腦 TCP 與西門子 V20 變頻器的通信案例

    在工業(yè)自動化控制系統(tǒng)中,經(jīng)常需要實現(xiàn)不同設(shè)備之間的通信與數(shù)據(jù)交互。本案例旨在展示如何通過 Modbus 協(xié)議,將電腦作為主站(Modbus TCP)與多臺西門子變頻器 V20(Modbus RTU
    的頭像 發(fā)表于 07-27 17:19 ?907次閱讀
    Modbus <b class='flag-5'>TCP</b> 轉(zhuǎn) Modbus RTU電腦<b class='flag-5'>端</b> <b class='flag-5'>TCP</b> 與西門子 V20 變頻器的<b class='flag-5'>通信</b>案例

    第三章 W55MH32 TCP Client示例

    本文介紹在 W55MH32?芯片上實現(xiàn) TCP?客戶模式進(jìn)行數(shù)據(jù)回環(huán)測試的方法。闡述 TCP?協(xié)議概念、特點(diǎn)、與 UDP?區(qū)別、應(yīng)用場景及相關(guān)機(jī)制。展示實現(xiàn)過程,包括開啟 Keepalive?功能,在主循環(huán)運(yùn)行測試程序。燒錄例
    的頭像 發(fā)表于 07-24 09:06 ?1121次閱讀
    第三章 W55MH32 <b class='flag-5'>TCP</b> <b class='flag-5'>Client</b>示例

    什么是Modbus TCP協(xié)議

    Modbus TCP是一種基于TCP/IP協(xié)議的Modbus通信協(xié)議,用于在客戶機(jī)和服務(wù)器之間進(jìn)行數(shù)據(jù)通信。它常用于工業(yè)自動化控制、電力監(jiān)控與管理、溫濕度監(jiān)測等領(lǐng)域。Modbus
    的頭像 發(fā)表于 07-23 17:18 ?4252次閱讀
    什么是Modbus <b class='flag-5'>TCP</b>協(xié)議

    AT32 IAP using the USART

    對于AT32 MCU,除了出廠固化的bootloader,用戶也可以在應(yīng)用程序中編寫自己的bootloader程序,用于最終產(chǎn)品的固件更新。此功能稱為應(yīng)用程序內(nèi)編程(IAP)。 本應(yīng)用筆記的目的
    發(fā)表于 07-11 10:51

    WICED中使能TCP保活后無法disconnected怎么解決?

    開發(fā)環(huán)境 WICED,最新版本的SDK 芯片:CYW43907、使用freertos+lwip開發(fā) 描述:使用wiced_tcp_server_start開啟TCP服務(wù)器,然后注冊了連接和斷開的回調(diào)
    發(fā)表于 07-08 06:57

    Modbus TCP連接多個客戶解決方法-深圳市振鑫通信科技

    ZP-MBS008多主站模塊是實現(xiàn)Modbus-TCP連接多個客戶或者服務(wù)器通訊設(shè)備
    的頭像 發(fā)表于 06-25 11:07 ?1707次閱讀
    Modbus <b class='flag-5'>TCP</b>連接多個客戶<b class='flag-5'>端</b>解決方法-深圳市振鑫<b class='flag-5'>通信</b>科技

    Modbus TCP通信的那些坑!你遇到過幾個?

    Modbus TCP通信,需要建立連接,對于S7-200 Smart CPU作為Modbus TCP客戶時,可以通過mbus_client
    的頭像 發(fā)表于 04-16 17:17 ?1460次閱讀
    Modbus <b class='flag-5'>TCP</b><b class='flag-5'>通信</b>的那些坑!你遇到過幾個?

    STM32F107 DP83848 lwip通信做客戶無法同PC建立聯(lián)系的原因?

    tcp_pcb *client_pcb = NULL;//?aò???ò??¨òa·??úà???£?·??ò?á??ó?ip4_addr_t server
    發(fā)表于 03-07 06:39