概述
使用TCP執(zhí)行通訊時,會有Server與Client的差別。Server是經由開啟特定的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以太網模塊 3) 以太網線
軟件資源
tcp_client, TCP client源程序,運行TCP客戶端程序
tcp_server, TCP server源程序,運行TCP服務端程序
AT32 TCP client/server程序設置
管腳配置
表1. 管腳配置
LwIP設置
硬件資源只提供從PHY到MAC的信號處理,若要進行開發(fā),則需要實作TCP/IP協(xié)議棧,在本應用中使用LwIP協(xié)議棧,該協(xié)議棧主要關注的是怎樣減少減少內存的使用和程序代碼的大小,這樣就可以讓LwIP適用于資源有限的小型平臺例如嵌入式系統(tǒng),更詳細的內容可以訪問官方網站。 由于整個協(xié)議棧已經整合到代碼中,大部分的內容都無須修改,使用者只要根據(jù)自己的網段去設定IP地址及閘口地址即可,這兩個全局變量宣告在netconf.c的上頭。 圖1. 配置芯片的IP地址
TCP client project設置
在初始化LwIP協(xié)議棧之后,就可以配置TCP client的應用了,芯片作為客戶端是發(fā)出請求的一方,所以必須要配置往哪里發(fā)送數(shù)據(jù),也就是說要知道服務端的socket。所謂的socket就是IP地址加上端口,在代碼中我們宣告了幾個宏定義代表服務端的socket,可以在tcp_client.h中找到TCP_SERVER_IP跟TCP_SERVER_PORT這兩個宏定義,用戶可以根據(jù)網段跟應用修改這兩個宏。 圖2. 配置服務端的socket
確認網段與服務端一致后,下載代碼到芯片上,服務器端會一秒打印一次”tcp client experiment!”,同時LED2, 3, 4也會跟著閃爍。
上位機服務端設置
1) 設定上位機的IP地址、網路屏蔽及閘口,IP地址與閘口需要跟芯片設置在同一個網段下。 2) 打開上位機端的服務器軟件,這里使用網路調適助手為例。協(xié)議類型選擇TCP server,本地IP地址為代碼中的TCP_SERVER_IP,本地端口號為代碼中的TCP_SERVER_PORT,按下連線即建立連線。 3)連線建立后,會出現(xiàn)以下畫面,不斷打印來自TCP client的數(shù)據(jù)。 圖3. 設置PC端的IP、網路屏蔽與閘口
圖4. 設置服務器軟件
圖5. 接收TCP client的數(shù)據(jù)
TCP server project設置
在初始化LwIP協(xié)議棧之后,就可以配置TCP server的應用了,芯片作為客戶端是接受請求的一方,所以必須要配置在哪里接受數(shù)據(jù),也就是說要開個端口給客戶端丟數(shù)據(jù)進來。在代碼中我們宣告了一個宏定義代表服務端的端口,可以在tcp_server.h中找到TCP_LOCAL_PORT這個宏定義,用戶可以根據(jù)應用修改這個宏。 圖6. 服務器端口的宏定義
上位機客戶端設置
1) 設定上位機的IP地址、網路屏蔽及閘口,IP地址與閘口需要跟芯片設置在同一個網段下,請參考圖3。 2) 打開上位機端的服務器軟件,這里使用網路調適助手為例。協(xié)議類型選擇TCP client,服務器IP地址為芯片的IP地址,本地端口號為代碼中的TCP_LOCAL_PORT,按下連線即建立連線。 3) 此時會出現(xiàn)訊息在視窗中,可以透過調試助手下方的區(qū)塊輸入字符串發(fā)送給服務器,服務器會響應輸入的字符串到視窗中。 圖7. 設置上位機的客戶端軟件
圖8. 顯示訊息到視窗中并響應發(fā)送的字符串
關于雅特力 雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創(chuàng)新趨勢的芯片設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內核,締造M4業(yè)界最高主頻288MHz運算效能,并支持工業(yè)級別芯片工作溫度范圍(-40°~105°)。 雅特力目前已累積相當多元的終端產品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業(yè)縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數(shù)字電源、電動工具等終端設備應用,廣泛地覆蓋5G、物聯(lián)網、消費、商務及工控等領域。
審核編輯 :李倩
-
以太網
+關注
關注
40文章
5440瀏覽量
172016 -
信號處理
+關注
關注
48文章
1032瀏覽量
103318 -
TCP
+關注
關注
8文章
1372瀏覽量
79142
原文標題:AT32講堂023 | AT32 MCU TCP client與TCP server如何與PC端通信
文章出處:【微信號:AT32 MCU 雅特力科技,微信公眾號:AT32 MCU 雅特力科技】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論