導航:首頁 > 操作系統 > tcp單片機

tcp單片機

發布時間:2022-07-04 14:58:45

A. 單片機TCP/IP的如何使用單片機TCP/IP協議棧

用戶在拿到一個單片機TCP/IP協議棧以後該如何處理呢。其中的處理分為兩個部分:上層介面和下層介面。
4. 1 上層介面
用戶使用單片機TCP/IP的目的實際非常明了,就是要實現數據的傳送,即從PC機(或者另一個單片機)上傳送過來的數據能夠在本地單片機上接收,反之亦然。所以如果屏蔽底層的話,單片機TCP/IP協議棧就是一個傳輸數據的手段。所以最後歸結到了使用send()、recv()函數即可。這就是使用單片機TCP/IP協議棧的核心所在。
但是事實上並沒有這么簡單,因為對於TCP需要有發起連接、接受連接、發送數據、接收數據、關閉連接等操作以配合數據的傳輸。TCP/IP協議棧一般為用戶提供如下的介面:
1. 初始化協議棧和釋放協議棧的函數介面,類似Init(), Release()之類的函數。
2. 提供類似BSD socket的socket, sendto, recvfro, connect, bind, listen, accept, send, recv, closesocket, shutdown, getpeername, getsockname, htonl, htons, ntohl, ntohs, inet_addr,inet_ntoa,ioctlsocket,setsockopt, getsockopt,select等API函數,用戶調用此類函數進行發起連接、接受連接、發送數據、接收數據、關閉連接等操作。
3. 接受連接、接收數據、被動關閉的處理:由於此類操作是上位機發起的,所以TCP/IP協議棧必須提供一套機制來處理此類事件的發生。一般來說有兩種方法:
a) 主動等待:例如使用BSD的recv()函數等待數據的到來。
b) 回調機制:採用類似MFC的OnReceive()函數的回調機制,也即是說在接收到數據的時候會自動調用OnReceive()函數。
那麼用戶如何使用以上的介面來實現遠程式控制制、遠程數據採集呢?方法很簡單。
例如現在需要實現一個對LED燈的亮和滅的遠程式控制制應用。首先PC機使用TCP/IP發送工具例如SocketDlgTest程序發送一個位元組的「1」到開發板(根據開發板的IP地址發送)。開發板在OnReceive函數中發現收到的是「1」,那麼就通過P1埠將燈打開;反之如果收到的是「0」則將燈熄滅。
如果是實現一個遠程數據採集的應用,例如定時進行溫度採集。首先PC機使用SocketDlgTest程序等待發來數據。開發板每隔一段時間採集一個數據,然後通過send()函數將數據發送給PC機(根據PC機的IP地址發送),這樣PC就接收到了當前的遠程溫度數據。
4. 1 下層介面
下層介面是一個比較復雜的部分,實際上是TCP/IP協議棧和底層硬體的對接問題。如果用戶將TCP/IP協議棧移植到自己的單片機系統上。由於硬體上存在一定的差異,就需要修改底層代碼。這里需要包括:
1.網卡驅動:如果TCP/IP協議棧已經提供了網卡驅動,並且驅動和用戶使用的網卡晶元一樣,那麼就相對容易一些。這里只需要修改網卡的基地址即可。否則需要自己動手寫驅動程序。如果網卡採用RTL8019AS可以參考老古開發網的單片機與TCP/IP網路。如果網卡採用CS8900,可以參考《嵌入式 TCP/IP 協議單片機技術在網路通信中的應用》
2.TCP/IP底層介面。一般單片機TCP/IP需要底層為其提供定時中斷、網卡中斷處理的入口。底層需要做相應的處理。

B. 能用tcp/ip通信的單片機有哪些

有spi介面的單片機就可以,不是單片機本身可以而是單片機外接網口晶元可以實現tcpip,我用的stm8 stm32就可以,也有串口轉網口的模塊,就是人家幫你做好了協議轉換了,你用串口就可以了,所以不在於什麼單片機

C. 單片機的TCP協議連接問題

單片機響應無需要你來關心 由WIFI轉串口晶元幫你解包完成
具體看你的設置 單片機是TCP的server還是PC(V)是TCPserver

D. 單片機既然已經採用TCP連接了,可以直接發送數據,為什麼還要使用http post這種方式發送數據

TCP屬於是傳輸層(有關OSI七層協議,可參考網頁鏈接)的協議!而HTTP協議是一種應用層協議!基於TCP的一種協議。HTTP 超文本傳送協議(Hypertext Transfer Protocol )是應用層協議,定義的是傳輸數據的內容的規范。

E. 單片機TCP/IP的已有的單片機TCP/IP協議棧

由於TCP協議棧的程序流程較為復雜,因為程序中需要處理對方發送過來的數據、發起的連接,而我方並不知道對方會何時進行什麼樣的操作,這就使得協議處理起來較為復雜。另外一個原因是單片機TCP/IP協議棧的穩定性是以非常重要的問題,一個穩定的協議棧需要在實際應用中經過長時間的測試,所以編寫一個穩定的單片機TCP/IP協議棧更加困難。為此另外一種選擇就是使用現有的TCP/IP協議棧。
1. eCos單片機TCP/IP協議棧:eCos TCP/IP棧是涉及與eCos操作系統/內核一起運行的。eCos(和TCP/IP棧)由大量處理其結構支持。eCos TCP/IP棧當前發布了一個測試版,作為一個單獨的模塊。
2. ZLIP 51單片機TCP/IP協議棧:ZLIP是專門為51單片機設計的嵌入式TCP/IP協議棧,可以在有操作系統和沒有操作系統情況下運行,具有代碼量適中、運行速度快、用戶介面簡單、兼容BSD socket介面的特點。實現了TCP、UDP、ICMP、ARP協議,ZLWeb實現了HTTP協議。支持多TCP連接、多UDP連接同時運行,支持在uc/os-II操作系統下多任務運行數據收發。可以用於51單片機TCP/IP上網解決方案。
3. uc/ip 單片機TCP/IP協議棧:uC/IP(mew-kip)是為為控制其設計的一個TCP/IP協議棧。代碼基於BSD(很像所有其它棧)但對非常小的覆蓋范圍功能有所減少。它當前為Linux和DOS目標而建。
4. BSD 單片機TCP/IP協議棧:BSD棧歷史上是其他商業棧的開始點,大多數專業TCP/IP棧(如帶Wind-River VxWorks內核的)是BSD棧派生的。這是因為BSD在BSD許可協議下提供了他們的棧,它們的許用證使你能以修改或未修改的形式結合它們的代碼而無須向創建者付版稅。與GPL許用證相比,如果你結合GPL源代碼,後者要求你的GPL中公開你的源代碼。
5. lwIP 單片機TCP/IP協議棧:lwIP(輕型)TCP/IP棧是TCP/IP協議棧的一個小型實現。它包括帶IP和ICMP的TCP和UDP傳輸層。還提供一個可選的BSD套結籽API。為了性能,還包括一個零拷貝API。LwIP協議棧是為嵌入式系統設計的並能適合40KB的ROM和幾百位元組的RAM。為了可移植性它用C編寫。
6. uIP 單片機TCP/IP協議棧:uIP是專門為8位和16單片機設計的一個非常小的TCP/IP協議棧。uIP完全用C編寫,以此可以移植到各種不同的結構和操作系統上。一個編譯的棧可以有幾KB ROM或幾百位元組RAM中運行。uIP還包括一個HTTP伺服器作為服務內容。
7. TinyTCP 單片機TCP/IP協議棧:TinyTCP棧是TCP/IP的一個非常小的簡單的實現,它包括一個FTP客戶。TinyTCP是為燒入ROM設計的並且現在開始對大端結構似乎是有用的(初始目標是68000晶元)。TinyTCP也包括一個簡單的乙太網驅動器用於3Com多匯流排卡。
8. WATTCP 單片機TCP/IP協議棧:WATTCP是為嵌入基於DOS的系統而設計的一個小型TCP/IP棧。它包括一個Real Mode DOS版本和另一個32位擴展環境版本。

F. 單片機TCP/IP的介紹

單片機TCP/IP就是在單片機上運行的TCP/IP協議棧。由於嵌入式聯網設備越來越多,需要在嵌入式設備上實現TCP/IP協議棧,但是嵌入式設備不同於PC機,它們一般採用MCU也就是單片機而不是CPU作為核心處理器。這就需要在單片機上實現TCP/IP協議棧。對於高端的32位單片機,由於其性能已經接近於低端PC機CPU(例如奔騰II系列),所以和在PC上實現TCP/IP協議棧沒有多大區別;這里主要講述低端8位(例如51單片機)、16位單片機TCP/IP協議棧。

G. 單片機TCP/IP開發板的用途

目前單片機上網技術是一個熱門技術,很多高校學生選擇與此相關的畢業設計,同時高校也有與此相關的項目。為了快速實現單片機TCP/IP,可以通過使用單片機TCP/IP開發板來實現。一般一個單片機TCP/IP開發板需要包含如下的內容:
1. 單片機TCP/IP協議棧:用戶可以根據協議棧提供的用戶介面來實現TCP的發起連接、接受連接、發送數據、接收數據、關閉連接等操作。最好是該協議棧能夠兼容BSD socket介面。
2. 硬體電路板及其相關連接線:用此硬體可以建立嵌入式TCP/IP實驗環境。
3. 硬體原理圖:這可以方便用戶將相關硬體集成到自己的電路板中。
4. 配套開發工具:在嵌入式TCP/IP實驗環境中必須要有PC機端的軟體,用以和開發板進行通信。

H. 單片機TCP/IP開發板的使用

下面介紹如何使用TCP/IP開發板來進行項目開發。
3. 1 開發板套件
為了建立單片機TCP/IP開發環境,需要一套開發套件,一般包含有:①開發板。②開發板光碟。③USB線。④對連網線。⑤普通網線。⑥串口線。其中TCP/IP協議棧相關資料在②開發板光碟上,③USB線一般用於從PC機USB埠獲得電。網線用於和PC機通信,⑥串口線用於和PC機串口通信。
3. 2 開發板部件
一個開發板本身是一個單片機系統,包含有CPU、RAM、電源模塊、網路模塊。網路模塊有很多選擇,這里以RTL8019AS為例來說明。對於外部介面,最主要的是:⑨網線介面和⑩串口,它們是開發板和PC連接的介面。
3. 3 建立開發環境
建立單片機TCP/IP開發環境的步驟有如下幾步:
1. 連線:連線是將開發板與PC機的串口連接,給開發板上電,然後將開發板連接到和PC在同一個網段中。
2. 安裝軟體:需要安裝開發板的編譯環境。對於51單片機,一般選用KeilC51作為編譯器。設置IP地址,由於必須要求PC機和開發板處於同一個網段,所以需要將PC機的IP地址設置為開發板IP地址的同一個網段的IP地址(有時候也需要設置為特定的IP地址)。
3. 測試連接:一般可以通過PING命令,例如ping 192.168.0.2 –t來測試開發板和PC機的網路是否處於連通狀態。
3. 3 開發基於開發板的新程序
這里介紹如何在不修改開發板硬體的基礎上,開發自己的單片機TCP/IP程序。開發新程序就是在開發板提供的TCP/IP協議棧的基礎上開發應用層的協議。由於TCP層和IP層都已經提供,所以用戶不用考慮其中的運行機制。TCP/IP協議棧一般為用戶提供如下的介面:
1. 初始化協議棧和釋放協議棧的函數介面,類似Init(), Release()之類的函數。
2. 提供類似BSD socket的socket, sendto, recvfro, connect, bind, listen, accept, send, recv, closesocket, shutdown, getpeername, getsockname, htonl, htons, ntohl, ntohs, inet_addr,inet_ntoa,ioctlsocket,setsockopt, getsockopt,select等API函數,用戶調用此類函數進行發起連接、接受連接、發送數據、接收數據、關閉連接等操作。
3. 接受連接、接收數據、被動關閉的處理:由於此類操作是上位機發起的,所以TCP/IP協議棧必須提供一套機制來處理此類事件的發生。一般來說有兩種方法:
a) 主動等待:例如使用BSD的recv()函數等待數據的到來。
b) 回調機制:採用類似MFC的OnReceive()函數的回調機制,也即是說在接收到數據的時候會自動調用OnReceive()函數。
那麼用戶如何使用以上的介面來實現遠程式控制制、遠程數據採集呢?方法很簡單。
例如現在需要實現一個對LED燈的亮和滅的遠程式控制制應用。首先PC機使用TCP/IP發送工具例如SocketDlgTest程序發送一個位元組的「1」到開發板(根據開發板的IP地址發送)。開發板在OnReceive函數中發現收到的是「1」,那麼就通過P1埠將燈打開;反之如果收到的是「0」則將燈熄滅。
如果是實現一個遠程數據採集的應用,例如定時進行溫度採集。首先PC機使用SocketDlgTest程序等待發來數據。開發板每隔一段時間採集一個數據,然後通過send()函數將數據發送給PC機(根據PC機的IP地址發送),這樣PC就接收到了當前的遠程溫度數據。
4. 3 開發基於新硬體的程序
通過「開發基於開發板的新程序」一節的介紹後,開發基於新硬體的程序就相對容易了。這只要根據相應的硬體調整通過單片機的控制埠例如P1進行控制或者數據採集即可。

I. TCP/IP 在單片機嵌入式系統中有什麼作用

tcp/ip是網路模型,所以也就是用在網路通信中的,這需要到網路編程,tcp和udp編程,主要作用就是把兩個分開的節點通過網路連接起來好統一的調度使用。
舉個例子,你用單片機在家控制著家庭的開關,你在辦公室可以通過訪問你的單片機嵌入式的ip地址可以去查詢當前的開關狀態,當然並不僅限於這點應用啊。。。現在網路很發達,和網路聯系起來的產品也很多。。。

閱讀全文

與tcp單片機相關的資料

熱點內容
哪裡有無損音樂app下載 瀏覽:219
單片機如何使用proteus 瀏覽:991
java常用的伺服器 瀏覽:281
集結APP在哪裡下載 瀏覽:800
歐洲cf玩什麼伺服器 瀏覽:529
如何連接另一台電腦上的共享文件夾 瀏覽:681
如何讓桌面文件夾搬家到e盤 瀏覽:73
java自動格式化 瀏覽:619
ipad怎麼查看文件夾大小 瀏覽:583
手工粘土解壓球 瀏覽:552
在線視頻教育源碼 瀏覽:41
快四十學什麼編程 瀏覽:754
gnumakelinux 瀏覽:537
視易峰雲伺服器怎麼改系統 瀏覽:535
javamap取值 瀏覽:768
mac和win磁碟加密軟體 瀏覽:474
蘋果為什麼會連接不到伺服器 瀏覽:726
pdf格式文件如何保存 瀏覽:303
小霸王伺服器tx什麼意思 瀏覽:75
解釋dns命令 瀏覽:584