成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

單片機TCP IP協(xié)議棧的實現(xiàn)步驟

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
文章中主要介紹了實現(xiàn)單片機TCP IP協(xié)議棧的基本步驟和函數(shù)。希望本文的參考能讓大家得到幫助。那么具體的內(nèi)容還是請大家從下文中來了解吧。

前面我們在《單片機TCP IP協(xié)議棧實現(xiàn)的原理》一文中為大家介紹了相關(guān)的原理和知識。現(xiàn)在為了能更好地方便大家實現(xiàn)這個協(xié)議,我們將具體的一些步驟和函數(shù)給展現(xiàn)出來。希望對大家有用。那么如何使用單片機TCP IP協(xié)議棧呢?用戶在拿到一個單片機TCP IP協(xié)議棧以后該如何處理呢?其中的處理分為兩個部分:上層接口和下層接口。

◆上層接口

用戶使用單片機TCP/IP的目的實際非常明了,就是要實現(xiàn)數(shù)據(jù)的傳送,即從PC機(或者另一個單片機)上傳送過來的數(shù)據(jù)能夠在本地單片機上接收,反之亦然。所以如果屏蔽底層的話,單片機TCP IP協(xié)議棧就是一個傳輸數(shù)據(jù)的手段。所以最后歸結(jié)到了使用send()、recv()函數(shù)即可。這就是使用單片機TCP IP協(xié)議棧的核心所在。 但是事實上并沒有這么簡單,因為對于TCP需要有發(fā)起連接、接受連接、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、關(guān)閉連接等操作以配合數(shù)據(jù)的傳輸。TCP IP協(xié)議棧一般為用戶提供如下的接口:

1. 初始化協(xié)議棧和釋放協(xié)議棧的函數(shù)接口,類似Init(), Release()之類的函數(shù)。

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函數(shù),用戶調(diào)用此類函數(shù)進行發(fā)起連接、接受連接、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、關(guān)閉連接等操作。

3. 接受連接、接收數(shù)據(jù)、被動關(guān)閉的處理:由于此類操作是上位機發(fā)起的,所以TCP IP協(xié)議棧必須提供一套機制來處理此類事件的發(fā)生。

一般來說有兩種方法:

a) 主動等待:例如使用BSD的recv()函數(shù)等待數(shù)據(jù)的到來。

b) 回調(diào)機制:采用類似MFC的OnReceive()函數(shù)的回調(diào)機制,也即是說在接收到數(shù)據(jù)的時候會自動調(diào)用OnReceive()函數(shù)。

那么用戶如何使用以上的接口來實現(xiàn)遠程控制、遠程數(shù)據(jù)采集呢?方法很簡單。

例如現(xiàn)在需要實現(xiàn)一個對LED燈的亮和滅的遠程控制應(yīng)用。首先PC機使用TCP/IP發(fā)送工具例如SocketDlgTest程序發(fā)送一個字節(jié)的“1"到開發(fā)板(根據(jù)開發(fā)板的IP地址發(fā)送)。開發(fā)板在OnReceive函數(shù)中發(fā)現(xiàn)收到的是“1",那么就通過P1端口將燈打開;反之如果收到的是“0"則將燈熄滅。

如果是實現(xiàn)一個遠程數(shù)據(jù)采集的應(yīng)用,例如定時進行溫度采集。首先PC機使用SocketDlgTest程序等待發(fā)來數(shù)據(jù)。開發(fā)板每隔一段時間采集一個數(shù)據(jù),然后通過send()函數(shù)將數(shù)據(jù)發(fā)送給PC機(根據(jù)PC機的IP地址發(fā)送),這樣PC就接收到了當(dāng)前的遠程溫度數(shù)據(jù)。

◆下層接口

下層接口是一個比較復(fù)雜的部分,實際上是TCP IP協(xié)議棧和底層硬件的對接問題。如果用戶將TCP IP協(xié)議棧移植到自己的單片機系統(tǒng)上。由于硬件上存在一定的差異,就需要修改底層代碼。這里需要包括:

1.網(wǎng)卡驅(qū)動:如果TCP IP協(xié)議棧已經(jīng)提供了網(wǎng)卡驅(qū)動,并且驅(qū)動和用戶使用的網(wǎng)卡芯片一樣,那么就相對容易一些。這里只需要修改網(wǎng)卡的基地址即可。否則需要自己動手寫驅(qū)動程序。如果網(wǎng)卡采用RTL8019AS可以參考老古開發(fā)網(wǎng)的單片機與TCP/IP網(wǎng)絡(luò)。

2.TCP/IP底層接口。一般單片機TCP/IP需要底層為其提供定時中斷、網(wǎng)卡中斷處理的入口。底層需要做相應(yīng)的處理。

責(zé)任編輯:佟健 來源: 電信技術(shù)
相關(guān)推薦

2010-06-19 13:32:36

TCP IP協(xié)議棧

2010-09-08 15:18:54

單片機TCP IP協(xié)議棧

2010-07-01 15:38:41

TCP IP協(xié)議棧單片機

2010-09-08 15:11:36

TCP IP協(xié)議棧

2014-10-15 09:14:24

IP

2010-09-08 15:24:28

TCP IP協(xié)議棧

2010-09-08 15:34:27

TCP IP協(xié)議棧

2010-06-13 14:54:40

TCP IP協(xié)議棧linux

2010-09-08 15:15:12

TCP IP協(xié)議棧

2010-09-27 13:25:58

TCP IP協(xié)議棧

2019-09-30 09:28:26

LinuxTCPIP

2010-09-09 14:43:08

TCP IP協(xié)議棧

2021-07-09 08:55:23

LinuxTCPIP

2010-06-13 13:39:46

TCP IP協(xié)議棧

2021-07-06 21:29:16

TCPIP協(xié)議棧

2021-05-12 00:07:27

TCPIP協(xié)議

2020-07-09 08:14:43

TCPIP協(xié)議棧

2019-08-21 05:48:06

TCPIP協(xié)議棧

2021-07-08 09:15:20

單片機編程狀態(tài)機編程語言

2011-11-09 15:12:11

TCPIP協(xié)議棧uIP
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日本一区二区视频 | 亚洲一二三区免费 | 伊人久久麻豆 | 欧美一区二区黄 | 免费在线观看av网址 | 国产目拍亚洲精品99久久精品 | 成人午夜看片 | 成人免费视频网站在线观看 | 午夜专区 | 伊人狠狠干 | 国产精品美女www爽爽爽 | 中文字幕日韩欧美 | 久久综合狠狠综合久久 | 在线欧美亚洲 | 2019天天干天天操 | 国产91观看 | 最近中文字幕免费 | 第一福利社区1024 | 国产精品日日夜夜 | 在线成人av | 欧美专区日韩专区 | 美女啪啪国产 | 91av大全| 欧美日韩国产欧美 | 中文av字幕 | 荷兰欧美一级毛片 | 91在线资源| 精品国产一区二区三区日日嗨 | 国产成人99久久亚洲综合精品 | 亚洲区中文字幕 | 亚洲日本欧美 | 99久久中文字幕三级久久日本 | 一区二区三区中文 | 国产一区二区电影 | 成人国产精品免费观看视频 | 国产成在线观看免费视频 | 国产成人精品一区二区三区 | 国产精品久久久久aaaa九色 | 中文字幕1区 | 久久久久久色 | 精品久久av |