色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何使用網(wǎng)絡(luò)單片機(jī)W7100A實(shí)現(xiàn)TCP通信

          如何使用網(wǎng)絡(luò)單片機(jī)W7100A實(shí)現(xiàn)TCP通信

          作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏

          例1.6 設(shè)置斷開(kāi)連接

          1.7 關(guān)閉(CLOSE)

          和斷開(kāi)的過(guò)程不同,關(guān)閉過(guò)程可以直接將SOCKET變成SOCK_CLOSED(0×00)。用戶通過(guò)

          CLOSE(n)函數(shù)選擇合適的端口號(hào),然后無(wú)論對(duì)端有沒(méi)有做出響應(yīng)都將關(guān)閉SOCKET。如果RST數(shù)據(jù)包來(lái)自對(duì)端,SOCKET將會(huì)無(wú)條件變成SOCK_CLOSED(0×00)。一旦SOCKET變成為SOCK_CLOSED(0X00), SOCKET將不再可用除非重新打開(kāi)它。

          例1.7 設(shè)置關(guān)閉

          2 TCP回路測(cè)試(LOOPBACK)

          2.1服務(wù)器模式

          TCP回路測(cè)試可以通過(guò)回送來(lái)自于對(duì)端的數(shù)據(jù)從而檢測(cè)TCP協(xié)議的性能。這一章節(jié)將會(huì)介紹服務(wù)器模式下回路測(cè)試的例子。程序范例如下:

          例2.1 設(shè)置回路測(cè)試(LOOPBACK)服務(wù)器

          如上面的例子所示,在SOCKET循環(huán)周期內(nèi)除了connect()函數(shù),其他所有函數(shù)都可以使用。首先利用getSn_SR(s)函數(shù)檢測(cè)SOCKET狀態(tài),在W7100A復(fù)位后,所有的SOCKET全都變成SOCK_CLOSED(0×00)狀態(tài)。然后利用close()函數(shù)完全關(guān)閉SOCKET,再通過(guò)socket(s,Sn_MR_TCP,port,0×00)函數(shù)來(lái)創(chuàng)建一個(gè)新的SOCKET。如果SOCKET創(chuàng)建成功,狀態(tài)將會(huì)變成SOCK_INIT,再通過(guò)listen(s)函數(shù)將SOCKET的狀態(tài)變成監(jiān)聽(tīng)。一旦與對(duì)端建立連接,SOCKET的狀態(tài)將變成SOCK_ESTABLISHED,并且等待數(shù)據(jù)。所有接收到的數(shù)據(jù)都保存在接收緩存器中,recv(s,data_buf,len)函數(shù)中的data_buf變量定義為接收到的數(shù)據(jù)的長(zhǎng)度。最后再通過(guò)send(s,data,len)函數(shù)將數(shù)據(jù)回送到客戶端??蛻舳藭?huì)比較數(shù)據(jù)交換前后的差異來(lái)檢測(cè)數(shù)據(jù)通信是否正常。

          2.2 客戶端模式

          本章節(jié)將會(huì)介紹客戶端模式下回路測(cè)試的例子。程序范例如下:

          例2.2 設(shè)置回路測(cè)試(LOOPBACK)客戶端

          TCP客戶端的程序例子和TCP服務(wù)器的例子基本相同。唯一的區(qū)別在于SOCK_INIT狀態(tài)下,是通過(guò)connect()函數(shù)而不是listen()函數(shù)與服務(wù)器連接。

          3 回路測(cè)試服務(wù)器演示

          這一章將會(huì)介紹TCP回路測(cè)試程序運(yùn)行的例子。在下載完成TCP回路測(cè)試應(yīng)用的二進(jìn)制文件后,運(yùn)行iMCUW7100單片機(jī)內(nèi)的數(shù)據(jù)包實(shí)現(xiàn)回路測(cè)試的演示過(guò)程。更多的詳細(xì)信息,請(qǐng)參閱文檔‘如何在W7100A中創(chuàng)建工程’,‘WizISP程序指南’以及‘W7100A Debugger指南’。

          對(duì)TCP串行回路,用戶按照下面的步驟進(jìn)行設(shè)定:

          確認(rèn)測(cè)試環(huán)境。請(qǐng)參考‘iMCU7100EVB用戶指南’

          直接利用UTP線連接PC機(jī)與iMCU7100EVB

          直接利用串口線連接PC機(jī)與iMCU7100EVB

          使能iMCU7100EVB的5V電源適配器

          添加下面測(cè)試PC機(jī)的網(wǎng)絡(luò)信息

          - IP地址 : 192.168.1.xxx (‘xxx’ 為用戶PC機(jī)的IP地址,在客戶端模式下此IP地址也是服務(wù)器的IP地址,即我們之前在TCP客戶端代碼中設(shè)置在destip[4]的IP地址)。在本文檔中,IP設(shè)置為192.168.1.69,但是用戶可以進(jìn)行修改。

          - 網(wǎng)關(guān)IP地址 : 192.168.1.1

          - 子網(wǎng)掩碼 : 255.255.255.0

          運(yùn)行超級(jí)終端機(jī)程序以及AX1程序

          3.1超級(jí)終端機(jī)程序

          <圖3.1> 超級(jí)終端機(jī)程序選項(xiàng)

          在超級(jí)終端機(jī)程序行完成之后,如圖4.1設(shè)置串行通信的選項(xiàng)。超級(jí)終端機(jī)程序?qū)?huì)顯示串行通信時(shí)iMCU7100EVB的運(yùn)行狀態(tài)。

          3.2 AX1 設(shè)置

          想了解更多關(guān)于AX1程序的信息,請(qǐng)參考AX1用戶手冊(cè)。

          3.2.1TCP服務(wù)器模式下的iMCU7100EVB

          當(dāng)iMCU7100EVB運(yùn)行于服務(wù)器模式時(shí),PC作為TCP客戶端利用AX1程序連接到iMCU7100EVB。在AX1程序中,選擇TCP => CONNECT 菜單來(lái)實(shí)現(xiàn)與iMCU7100EVB的連接,此時(shí)對(duì)端的IP地址為192.168.1.2,端口號(hào)為5000。

          一旦連接成功,如圖4.2選擇TCP => SEND 菜單發(fā)送數(shù)據(jù)。因?yàn)榇藭r(shí)iMCU7100EVB作為服務(wù)器,AX1程序窗口將會(huì)顯示客戶端的狀態(tài)。



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉