• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    STM32的W5500以太網(wǎng)通信模塊快速實現(xiàn)方法

    2018-08-08 07:31:38,,,
    關(guān)鍵詞:服務(wù)器端程序設(shè)計以太網(wǎng)

    ,,,

    (西安工程大學(xué) 電子信息學(xué)院,西安 710048)

    引 言

    傳統(tǒng)的點對點通信方式,不論從經(jīng)濟成本還是從今后的系統(tǒng)維護上來說,都給工作者帶來一定的困難。然而,隨著網(wǎng)絡(luò)通信時代的發(fā)展,利用單片機擴展以太網(wǎng)通信,實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)墓δ芤呀?jīng)成為一種普遍的現(xiàn)象。例如,新余鋼鐵有限責(zé)任公司利用以太網(wǎng)資源的優(yōu)勢,提出利用以太網(wǎng)通信的方式完成數(shù)據(jù)傳輸?shù)墓δ躘9]。單片機以太網(wǎng)接入方案一般按TCP/IP協(xié)議棧的不同分為兩大類:第一類是傳統(tǒng)的軟件TCP/IP協(xié)議棧方案,即由MCU+MAC+PHY再加入網(wǎng)絡(luò)接口實現(xiàn)以太網(wǎng)的物理連接,通過在主控芯片中植入TCP/IP協(xié)議代碼實現(xiàn)通信及上層應(yīng)用;第二類是硬件TCP/IP協(xié)議棧方案,即由MCU+硬件協(xié)議棧芯片(內(nèi)含MAC和PHY)直接加網(wǎng)絡(luò)接口,所有處理TCP/IP協(xié)議的工作都是通過MCU的硬件協(xié)議棧芯片來完成[1-3]。

    從中斷請求次數(shù)方面來說,硬件協(xié)議棧的加入?yún)f(xié)助單片機處理了幾乎所有的TCP/IP協(xié)議工作,不僅極大地減少了單片機的中斷次數(shù),讓單片機騰出更多資源去完成其它工作,而且硬件化的電路處理協(xié)議會更加快速、穩(wěn)定;從安全性方面來說,硬件化的邏輯門電路來處理TCP/IP協(xié)議是不可攻擊的,充分彌補了網(wǎng)絡(luò)協(xié)議安全性不足的短板。所以在這里選擇了硬件TCP/IP協(xié)議棧方案,就是一種基于STM32F407的應(yīng)用系統(tǒng)通過SPI串口直接進行外部擴展以太網(wǎng)的形式,快速方便地實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸。

    近年來開發(fā)STM32比較流行的一個工具STM32CubeMX,它是意法半導(dǎo)體的主動原創(chuàng)工具,可以縮短開發(fā)的工作時間,降低費用,它也是一個圖形化的工具,配置和完成開發(fā)初期關(guān)于芯片相關(guān)的一些初始化代碼[8]。同時也集成了一個全面的軟件平臺,支持STM32每一個系列的MCU開發(fā)。快速完成初始化代碼的配置,提高了代碼編寫速度。W5500是WIZnet公司推出的一款內(nèi)部集成硬件協(xié)議棧的高性能以太網(wǎng)接口芯片,它擁有早期芯片的所有主要優(yōu)勢。全硬件協(xié)議棧技術(shù)采用硬件邏輯門電路實現(xiàn)復(fù)雜的TCP/IP協(xié)議簇,與傳統(tǒng)協(xié)議棧相比,它卸載了用于處理協(xié)議棧的MCU部分的線程,節(jié)約了MCU內(nèi)部ROM等硬件資源,具有應(yīng)用快速簡單、安全性好、可靠性高等優(yōu)勢;內(nèi)部集成了MAC和PHY工藝,使得接入以太網(wǎng)方案的硬件設(shè)計更為簡捷和高效。W5500提供了SPI(外設(shè)串行接口),從而能夠更加容易與外設(shè)MCU整合,方便開發(fā)者使用。

    本文搭建了基于LabVIEW和STM32F4的軟硬件平臺系統(tǒng)進行測試。首先采用ST開發(fā)的STM32CubeMX來進行STM32F407的相應(yīng)初始化配置,結(jié)合改進前后的W5500庫函數(shù)快速完成從機端發(fā)送數(shù)據(jù)的程序配置,使用PC端的LabVIEW完成主機端的定時接收數(shù)據(jù)程序配置,通過統(tǒng)計通信數(shù)據(jù)讀取的起止時間實現(xiàn)以太網(wǎng)通信數(shù)據(jù)傳輸速率的測試。對比W5500庫函數(shù)改進前后,其通信速率相對改進前提高近2倍。

    1 W5500以太網(wǎng)通信總體方案設(shè)計

    基于STM32CubeMX的W5500以太網(wǎng)模塊通信速率測試系統(tǒng)主要包括STM32F407應(yīng)用系統(tǒng)、W5500以太網(wǎng)控制器、PC端的LabVIEW。首先,W5500以太網(wǎng)控制芯片與STM32F407單片機通過SPI直連方式連接,W5500以太網(wǎng)控制芯片與PC機端通過以太網(wǎng)口連接,STM32F407單片機可直接通過命令調(diào)用以太網(wǎng)控制芯片W5500官方庫函數(shù),且采用以太網(wǎng)控制芯片內(nèi)置的TCP/IP協(xié)議棧,將其單片機作為服務(wù)器端,利用上位機LabVIEW作為客戶端來進行數(shù)據(jù)通信。為了驗證設(shè)計方案的有效性及測試通信速率,搭建了基于LabVIEW和STM32F4的軟硬件平臺系統(tǒng)進行測試。在保證硬件連接正確和通信成功的前提下,統(tǒng)計通信數(shù)據(jù)讀取的起止時間并實時觀察以太網(wǎng)通信數(shù)據(jù)傳輸速率?;赟TM32CubeMX的W5500以太網(wǎng)通信的系統(tǒng)總體方案如圖1所示。

    圖1 測試系統(tǒng)方案框圖

    2 W5500以太網(wǎng)通信模塊硬件程序設(shè)計

    圖2 測試系統(tǒng)硬件連接圖

    基于STM32CubeMX的W5500快速以太網(wǎng)通信硬件設(shè)計主要是W5500以太網(wǎng)模塊通過SPI總線與STM32F407單片機直接連接。測試系統(tǒng)硬件連接如圖2所示。W5500提供了新的SPI高速外設(shè)串行接口作為主機接口,同時SPI在芯片的引腳占用4根線,節(jié)省了芯片的引腳,也在PCB的布局上節(jié)省了空間,W5500以太網(wǎng)模塊SPI的4根線SDI(數(shù)據(jù)輸入)、SDO(數(shù)據(jù)輸出)、SCLK(時鐘)、CS(片選)連接單片機STM32F4上SPI接口的4個引腳。在SPI進行數(shù)據(jù)傳輸?shù)倪^程中,W5500提供兩種數(shù)據(jù)傳輸長度可選的數(shù)據(jù)傳輸方式,數(shù)據(jù)固定長度和數(shù)據(jù)長度可選的數(shù)據(jù)傳輸模式。W5500以太網(wǎng)模塊自帶的RJ45網(wǎng)口與路由器連接,從而有一定的IP、端口號,方便與上位機完成通信功能??勺償?shù)據(jù)長度模式W5500與STM32F407硬件接口框圖如圖3所示。

    圖3 可變數(shù)據(jù)長度模式W5500與STM32F407硬件接口框圖

    3 W5500以太網(wǎng)通信模塊軟件程序設(shè)計

    基于STM32CubeMX的W5500快速以太網(wǎng)通信的軟件程序設(shè)計主要包括基于STM32F407服務(wù)器端的軟件程序設(shè)計和基于LabVIEW客戶端的軟件程序設(shè)計。其中,服務(wù)器端的軟件程序包括STM32CubeMX初始化、W5500初始化以及移植程序。

    3.1 基于STM32F407服務(wù)器端的軟件程序設(shè)計

    3.1.1 STM32CubeMX的初始化配置

    該方案是以STM32F407處理器為基礎(chǔ)來外擴W5500以太網(wǎng)控制器,為了提升開發(fā)速率,這里選擇利用STM32CubeMX快速完成STM32F407初始化配置程序的設(shè)計。采用STM32CubeMX軟件進行程序配置的步驟如下:

    ① 打開STM32CubeMX軟件,點擊New Project,新建工程。

    ② 根據(jù)MCU型號對板子進行選擇,本方案所選用的是STM32F407ZET6。首先,在Series中選擇STM32F4,Lin中選擇STM32F407/417,然后就出現(xiàn)STM32F407ZETx這個選項,雙擊它,進入引腳配置界面,直接對引腳右鍵勾選所需的配置,十分方便。

    ③ 首先進行SPI(外設(shè)串行接口)配置,這里選擇使用STM32F407ZETx的SPI1接口與W5500網(wǎng)絡(luò)適配板進行連接,并選擇Full-Duplex Master模式,接著在Clock Configuration選項配置SPI1的工作時鐘頻率,為了提升通信速率,將SPI1時鐘由21 MHz提升為42 MHz;再進行RCC時鐘配置,勾選Crystal/Ceramic Resonator選項;最后進行串口配置,這里選擇USART1,勾選Asynchronous模式。

    利用STM32CubeMX方便快速地完成STM32F407初始化配置,點擊生成工程文件按鈕,生成工程文件。之后用編譯器打開,方便編寫所需代碼。

    3.1.2 W5500以太網(wǎng)初始化配置及移植程序設(shè)計

    對于W5500以太網(wǎng)模塊的程序設(shè)計,首先需要去WIZnet官網(wǎng)下載W5500驅(qū)動源碼,再將其驅(qū)動源碼移植到工程文件目錄,主要是添加socket.c、w5500.c、wizchip_conf.c三個文件。其中,socket.c主要介紹W5500的Socket相關(guān)配置函數(shù),比如Socket的打開、關(guān)閉、接收數(shù)據(jù)、發(fā)送數(shù)據(jù)等;w5500.c主要介紹W5500的寄存器讀寫過程;wizchip_conf.c主要配置W5500的MAC、IP地址,以及基本的數(shù)據(jù)讀寫過程、復(fù)位設(shè)置函數(shù)等。在移植W5500官方庫函數(shù)時,為避免w5500.c中引用#include"stm32f4xx_hal.h"與#include"stm32f4xx_hal_spi.h"時,與stm32f407xx.h文件中聲明的IMR與RCR產(chǎn)生沖突,并且在系統(tǒng)板子不改變的情況下,對其W5500原始庫函數(shù)進行了相應(yīng)的改進,即將w5500.h中定義和涉及的IMR與RCR替換成了W5500_IMR與W5500_RCR。為了防止當(dāng)更大量數(shù)據(jù)存在時,可能有數(shù)據(jù)丟失情況,在這里選擇通過提高通信速率來避免。所以在w5500.c文件中,重新修改了以下4個函數(shù):WIZCHIP_READ()、WIZCHIP_WRITE()、WIZCHIP_READ_BUF()、WIZCHIP_WRITE_BUF()。在這里就其中一個函數(shù)做說明,例如在WIZCHIP_WRITE()函數(shù)只定義了WIZCHIP_CRITICAL_ENTER()和WIZCHIP.CS._select()函數(shù),修改成在這兩個函數(shù)前面添加8位整型的發(fā)送數(shù)組和接收數(shù)組,即send_array[4]和receive_array[4],修改的主要作用是將SPI的逐一查詢傳輸方式改為按幀查詢傳輸方式,提高一定數(shù)據(jù)傳輸通信速率。具體的修改如下所示,首先展示出修改前的WIZCHIP_WRITE()函數(shù)程序代碼:

    void WIZCHIP_WRITE(uint32_t AddrSel, uint8_t wb){

    WIZCHIP_CRITICAL_ENTER();

    WIZCHIP.CS._select();

    #if((_WIZCHIP_IO_MODE_&_WIZCHIP_IO_MODE_SPI_))

    #if(_WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_SPI_VDM_)

    AddrSel |= (_W5500_SPI_WRITE_ | _W5500_SPI_VDM_OP_);

    #elif( _WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_SPI_FDM_)

    AddrSel |= (_W5500_SPI_WRITE_ | _W5500_SPI_FDM_OP_LEN1_);

    #else

    #error "Unsupported _WIZCHIP_IO_SPI_ inW5500 !!!"

    #endif

    WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000)>>16);

    WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00)>>8);

    WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF)>>0);

    WIZCHIP.IF.SPI._write_byte(wb);

    #elif ((_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_BUS_))

    #if(_WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_BUS_DIR_)

    #elif(_WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_BUS_INDIR_)

    #else

    #error "Unsupported _WIZCHIP_IO_MODE_BUS_ inW5500 !!!"

    #endif

    #else

    #error "Unknown _WIZCHIP_IO_MODE_ in W5500. !!!"

    #endif

    WIZCHIP.CS._deselect();

    WIZCHIP_CRITICAL_EXIT();

    }

    接著展示出修改后的WIZCHIP_WRITE()函數(shù)程序代碼:

    void WIZCHIP_WRITE(uint32_t AddrSel, uint8_t wb){

    unsigned char send_array[4],receive_array[4];

    WIZCHIP_CRITICAL_ENTER();

    WIZCHIP.CS._select();

    #if((_SPI_DMA_ & 0x01))

    #if((_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_SPI_))

    #if(_WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_SPI_VDM_)

    AddrSel |= (_W5500_SPI_WRITE_ | _W5500_SPI_VDM_OP_);

    #elif(_WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_SPI_FDM_)

    AddrSel |= (_W5500_SPI_WRITE_ | _W5500_SPI_FDM_OP_LEN1_);

    #else

    #error "Unsupported _WIZCHIP_IO_SPI_ in W5500 !!!"

    #endif

    send_array[0]=(AddrSel & 0x00FF0000)>>16;

    send_array[1]=(AddrSel & 0x0000FF00)>>8;

    send_array[2]=(AddrSel & 0x000000FF)>>0;

    send_array[3]=wb;

    HAL_SPI_TransmitReceive(&hspi1,send_array,receive_array,4,100);

    #elif ((_WIZCHIP_IO_MODE_&_WIZCHIP_IO_MODE_BUS_))

    #if(_WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_BUS_DIR_)

    #elif(_WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_BUS_INDIR_)

    #else

    #error "Unsupported _WIZCHIP_IO_MODE_BUS_ in W5500 !!!"

    #endif

    #else

    #error "Unknown _WIZCHIP_IO_MODE_ in W5500 !!!"

    #endif

    #else

    #if((_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_SPI_))

    #if(_WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_SPI_VDM_)

    AddrSel |= (_W5500_SPI_WRITE_ | _W5500_SPI_VDM_OP_);

    #elif(_WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_SPI_FDM_)

    AddrSel |= (_W5500_SPI_WRITE_ | _W5500_SPI_FDM_OP_LEN1_);

    #else

    #error "Unsupported _WIZCHIP_IO_SPI_ in W5500 !!!"

    #endif

    WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000)>>16);

    WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00)>>8);

    WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF)>>0);

    WIZCHIP.IF.SPI._write_byte(wb);

    #elif ((_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_BUS_) )

    #if(_WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_BUS_DIR_)

    #elif(_WIZCHIP_IO_MODE_==_WIZCHIP_IO_MODE_BUS_INDIR_)

    #else

    #error "Unsupported _WIZCHIP_IO_MODE_BUS_ in W5500 !!!"

    #endif

    #else

    #error "Unknown _WIZCHIP_IO_MODE_ in W5500. !!!"

    #endif

    #endif

    WIZCHIP.CS._deselect();

    WIZCHIP_CRITICAL_EXIT();

    }

    其他三個函數(shù)修改思路類似于WIZCHIP_WRITE()函數(shù)。具體的代碼在這里就不展出了。

    其中,W5500的初始化過程為:首先主處理器配置與W5500相連接的I/O端口,配置I/O端口的輸入輸出方式;主處理器與W5500之間采用SPI串行接口方式,因此需要編寫與SPI通信相關(guān)的API函數(shù),即在通信過程中用到的讀寫數(shù)據(jù)函數(shù);通過SPI接口配置W5500的各寄存器值,具體包括W5500網(wǎng)關(guān)地址寄存器、子網(wǎng)掩碼寄存器、模塊物理地址寄存器和IP地址寄存器;最后需要配置W5500為TCP服務(wù)器端模式,同時還需要設(shè)置發(fā)送緩存區(qū)和接收緩存區(qū)的大小,進行好所有初始化配置后即可對網(wǎng)關(guān)服務(wù)器進行Socket設(shè)置,當(dāng)Socket處于初始化完成SOCK_INIT狀態(tài),此時,作為TCP服務(wù)器就要執(zhí)行l(wèi)isten()函數(shù)來偵聽端口。

    3.1.3 W5500以太網(wǎng)通信模塊的主程序設(shè)計

    對于STM32F407擴展W5500以太網(wǎng)模塊的主程序設(shè)計,包括STM32CubeMX程序設(shè)計和Keil MDK5程序設(shè)計。程序開始后,首先STM32F407單片機進行初始化,具體包括:HAL_Init()函數(shù)完成配置Flash預(yù)取功能;SystemClock_Config()函數(shù)實現(xiàn)外部時鐘晶振時鐘配置;MX_GPIO_Init()函數(shù)初始化所有I/O外設(shè);MX_SPI1_Init()函數(shù)初始化SPI1外設(shè)串行接口;MX_USART1_UART_Init()函數(shù)進行串口的初始化。再對W5500進行初始化,包括設(shè)置其物理地址、網(wǎng)關(guān)IP、IP地址、子網(wǎng)掩碼、初始化內(nèi)置TCP/IP協(xié)議棧,并初始化Socket為TCP服務(wù)器模式。在TCP服務(wù)器模式下,檢查PHY連接是否成功,如連接成功,進行網(wǎng)絡(luò)通信參數(shù)配置,接著打開Socket,進而判斷TCP連接是否成功,如連接成功,則認為Socket通信成功,W5500芯片產(chǎn)生中斷,那么清除中斷標(biāo)志位,客戶端和服務(wù)器可以正常通信,進行收發(fā)數(shù)據(jù)的操作,反之,不能進行收發(fā)數(shù)據(jù)。W5500以太網(wǎng)通信模塊的主程序設(shè)計流程圖如圖4所示。

    圖4 STM32CubeMX的W5500以太網(wǎng)通信主程序流程圖

    3.2 基于LabVIEW客戶端的軟件程序設(shè)計

    LabVIEW的客戶端程序主要是基于LabVIEW的GUI軟件設(shè)計,通過自帶的TCP/IP協(xié)議完成與STM32F407單片機和W5500以太網(wǎng)模塊作為服務(wù)器的通信程序測試。

    圖6 LabVIEW客戶端后面板

    LabVIEW客戶端的軟件程序設(shè)計主要包括前面板程序設(shè)計和后面板程序設(shè)計。其中,前面板程序設(shè)計主要包括:開始、結(jié)束以及接收1000包TCP數(shù)據(jù)的時間、TCP 1000次讀取次數(shù)、通信傳輸速率以及數(shù)據(jù)傳輸波形顯示功能。圖5為客戶端接收服務(wù)器端發(fā)送的數(shù)據(jù)的前面板展示。

    圖5 LabVIEW客戶端前面板

    基于LabVIEW客戶端的后面板程序設(shè)計包括IP地址設(shè)置、端口設(shè)置、客戶端數(shù)據(jù)讀取數(shù)等。首先通過打開TCP函數(shù)指定IP地址192.168.1.128和端口號5 000。當(dāng)與服務(wù)器端通信完成后,開始建立連接數(shù)據(jù)傳輸,通過讀取TCP數(shù)據(jù)函數(shù)一次性讀取2 048個字節(jié),記錄開始接收數(shù)據(jù)的時間,當(dāng)連續(xù)循環(huán)讀取1000次,接收完成后,再去獲取結(jié)束時間,計算出數(shù)據(jù)循環(huán)1000次所需時間,進而完成通信速率的測試。通信速率為通過數(shù)據(jù)傳輸大小/(結(jié)束時間-開始時間),得到傳輸速率大小并顯示在前面板上。圖6為客戶端接收服務(wù)器端發(fā)送數(shù)據(jù)的后面板展示。

    4 測試系統(tǒng)的結(jié)果以及優(yōu)點

    在本系統(tǒng)設(shè)計方案中,搭建的基于LabVIEW和STM32F4的軟硬件平臺測試系統(tǒng)主要包括STM32F4系列的STM32F407應(yīng)用系統(tǒng)、W5500以太網(wǎng)控制器、PC端的LabVIEW。其中,STM32F407應(yīng)用系統(tǒng)通過SPI(外設(shè)串行接口)外擴W5500以太網(wǎng)控制器作為服務(wù)端,完成給客戶端發(fā)送數(shù)據(jù);PC端的LabVIEW作為客戶端,完成接收服務(wù)器端發(fā)送的數(shù)據(jù)。 W5500再與路由器通過RJ45端口用雙絞線連接,聯(lián)合TCP/IP協(xié)議,進行調(diào)試并完成通信速率的測試。

    在進行測試時,首先調(diào)試客戶端與服務(wù)器端的通信問題,在這里,同樣選擇由上位機LabVIEW來完成通信程序設(shè)計,聯(lián)合TCP/IP協(xié)議,當(dāng)結(jié)果顯示表明通信測試成功。則接著對其進行通信速率測試,首先直接移植W5500官方提供的原始庫函數(shù),進行單收單發(fā)數(shù)據(jù)傳輸,做10次實驗,最終平均傳輸速率可穩(wěn)定在220 KB/s;對其W5500官方提供的原始庫函數(shù)進行一定修改,再次進行單收單發(fā)數(shù)據(jù)傳輸,同樣完成10次實驗,平均傳輸速率可穩(wěn)定在414 KB/s。其中,直接移植W5500官方提供的原始庫函數(shù),通信速率結(jié)果圖展示如圖7所示。進行修改后的W5500庫函數(shù),通信速率結(jié)果圖展示如圖8所示。對官方提供的W5500庫函數(shù)進行修改前后,進行10次實驗對比,結(jié)果如表1所列。

    表1 對官方提供的W5500庫函數(shù)進行修改前后的通信速率結(jié)果

    圖7 直接移植W5500庫函數(shù)的通信速率結(jié)果圖

    圖8 對W5500庫函數(shù)進行修改后的通信速率結(jié)果圖

    在搭建的軟硬件平臺測試系統(tǒng)中,一方面選用ST開發(fā)的STM32CubeMX工具來配置開發(fā)初期關(guān)于STM32F407芯片相關(guān)的一些初始化代碼,方便快速;另一方面,直接移植W5500官方提供的原始庫函數(shù),快速方便。兩者的結(jié)合,不僅節(jié)省了工作時間,還降低了開發(fā)成本。對于通過直接移植W5500官方提供的庫函數(shù),發(fā)現(xiàn)數(shù)據(jù)傳輸速率過低,進而對其庫函數(shù)進行相應(yīng)修改,最終提高了一定的通信速率,相比改進之前,數(shù)據(jù)傳輸通信速率提高了2倍左右。

    結(jié) 語

    猜你喜歡
    服務(wù)器端程序設(shè)計以太網(wǎng)
    基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實現(xiàn)
    基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
    計算機教育(2020年5期)2020-07-24 08:52:56
    從細節(jié)入手,談PLC程序設(shè)計技巧
    電子制作(2019年9期)2019-05-30 09:42:04
    淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
    成功(2018年10期)2018-03-26 02:56:14
    談實時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
    電子制作(2017年24期)2017-02-02 07:14:44
    高職高專院校C語言程序設(shè)計教學(xué)改革探索
    在Windows中安裝OpenVPN
    一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
    淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
    PLC梯形圖程序設(shè)計技巧及應(yīng)用
    亚洲一级一片aⅴ在线观看| 男人爽女人下面视频在线观看| 精品国产一区二区三区久久久樱花 | 亚洲精品第二区| 97热精品久久久久久| 夫妻午夜视频| 日日撸夜夜添| 亚洲精品日韩av片在线观看| 全区人妻精品视频| 天天一区二区日本电影三级| 亚洲av在线观看美女高潮| 久久人人爽人人片av| 日韩亚洲欧美综合| 99九九线精品视频在线观看视频| 亚洲美女视频黄频| 久久久久久久久久人人人人人人| 国产探花在线观看一区二区| 日日啪夜夜爽| 国产精品一区www在线观看| 亚洲精品影视一区二区三区av| 久久人人爽人人爽人人片va| av国产免费在线观看| 寂寞人妻少妇视频99o| 国产高清不卡午夜福利| 黄色配什么色好看| 80岁老熟妇乱子伦牲交| 亚洲图色成人| 男人狂女人下面高潮的视频| 一本一本综合久久| 亚洲欧美日韩卡通动漫| 在线观看三级黄色| 少妇丰满av| 91午夜精品亚洲一区二区三区| 夜夜看夜夜爽夜夜摸| 一个人看的www免费观看视频| 日韩在线高清观看一区二区三区| 99久久精品一区二区三区| 亚洲天堂国产精品一区在线| 欧美成人午夜免费资源| 少妇熟女欧美另类| 2021少妇久久久久久久久久久| 国产精品久久久久久av不卡| 成人漫画全彩无遮挡| 久久久精品94久久精品| 国产成人免费观看mmmm| av免费观看日本| 国产精品无大码| 神马国产精品三级电影在线观看| 国产精品一区二区性色av| 最近中文字幕2019免费版| 国产精品人妻久久久久久| av线在线观看网站| 国产精品伦人一区二区| 热re99久久精品国产66热6| 国产中年淑女户外野战色| 亚洲av免费高清在线观看| 亚洲综合精品二区| 亚洲国产精品成人综合色| 天美传媒精品一区二区| 久久精品综合一区二区三区| 国产黄a三级三级三级人| 成人国产av品久久久| 直男gayav资源| 国产精品蜜桃在线观看| 中文字幕亚洲精品专区| www.色视频.com| 国精品久久久久久国模美| 人人妻人人澡人人爽人人夜夜| 联通29元200g的流量卡| 日韩视频在线欧美| 日日啪夜夜爽| 国产日韩欧美亚洲二区| 国产成人精品一,二区| 欧美97在线视频| 免费少妇av软件| 日韩电影二区| 99久久精品一区二区三区| 欧美变态另类bdsm刘玥| 老师上课跳d突然被开到最大视频| 99热这里只有精品一区| 丝袜喷水一区| 欧美潮喷喷水| 欧美高清成人免费视频www| 久久精品国产亚洲av涩爱| 国产探花在线观看一区二区| kizo精华| 国产一区二区三区综合在线观看 | 九草在线视频观看| 久久久久国产网址| 女人久久www免费人成看片| 久久精品国产亚洲av涩爱| 成人高潮视频无遮挡免费网站| 成年版毛片免费区| 国产午夜福利久久久久久| 麻豆久久精品国产亚洲av| 在线观看av片永久免费下载| 国产爱豆传媒在线观看| 亚洲精品,欧美精品| 亚洲精品日韩av片在线观看| 搡女人真爽免费视频火全软件| 久久久久久久久大av| 啦啦啦在线观看免费高清www| 日韩av免费高清视频| av在线天堂中文字幕| 欧美一区二区亚洲| av在线播放精品| 最近手机中文字幕大全| 在线 av 中文字幕| 亚洲av综合色区一区| 国产深夜福利视频在线观看| 无遮挡黄片免费观看| 两个人免费观看高清视频| 国产国语露脸激情在线看| 精品一品国产午夜福利视频| 蜜桃国产av成人99| 美女国产高潮福利片在线看| 精品一区二区三区av网在线观看 | 赤兔流量卡办理| 国产探花极品一区二区| 99国产综合亚洲精品| av电影中文网址| 99香蕉大伊视频| 在线观看人妻少妇| 国产精品 欧美亚洲| 一个人免费看片子| 欧美97在线视频| 久久久久网色| 久久午夜综合久久蜜桃| 一本—道久久a久久精品蜜桃钙片| 国产一区亚洲一区在线观看| 午夜老司机福利片| 青草久久国产| 精品福利永久在线观看| 国产av精品麻豆| 亚洲欧美一区二区三区黑人| 亚洲精品美女久久av网站| 纯流量卡能插随身wifi吗| 久久久久国产精品人妻一区二区| 大片免费播放器 马上看| 免费观看性生交大片5| 欧美另类一区| 久久久久视频综合| 国产国语露脸激情在线看| 久久 成人 亚洲| 亚洲美女黄色视频免费看| 亚洲国产欧美一区二区综合| 夫妻性生交免费视频一级片| avwww免费| 久久亚洲国产成人精品v| 免费看不卡的av| 美女中出高潮动态图| 99精国产麻豆久久婷婷| 婷婷色av中文字幕| 老司机在亚洲福利影院| 欧美国产精品va在线观看不卡| 丰满少妇做爰视频| 色视频在线一区二区三区| 卡戴珊不雅视频在线播放| 亚洲av电影在线观看一区二区三区| 一边亲一边摸免费视频| 最新在线观看一区二区三区 | 成人三级做爰电影| 久久99精品国语久久久| 久久久亚洲精品成人影院| 天天添夜夜摸| 男的添女的下面高潮视频| 永久免费av网站大全| 在线天堂最新版资源| 欧美激情极品国产一区二区三区| 欧美老熟妇乱子伦牲交| 精品亚洲成a人片在线观看| 日韩 欧美 亚洲 中文字幕| 九九爱精品视频在线观看| 国产无遮挡羞羞视频在线观看| 欧美日韩国产mv在线观看视频| 校园人妻丝袜中文字幕| 亚洲欧洲日产国产| 女性生殖器流出的白浆| 精品人妻一区二区三区麻豆| 少妇被粗大的猛进出69影院| 日韩精品免费视频一区二区三区| 人人妻,人人澡人人爽秒播 | 女性生殖器流出的白浆| 不卡视频在线观看欧美| 欧美黑人欧美精品刺激| 亚洲中文av在线| 亚洲精品美女久久久久99蜜臀 | 免费在线观看视频国产中文字幕亚洲 | 亚洲图色成人| 午夜精品国产一区二区电影| 国产爽快片一区二区三区| 一级爰片在线观看| 精品人妻一区二区三区麻豆| 韩国精品一区二区三区| 国产精品蜜桃在线观看| 国产精品国产三级国产专区5o| 亚洲精品一区蜜桃| 久久久久久人人人人人| 欧美变态另类bdsm刘玥| 狠狠婷婷综合久久久久久88av| 久久精品国产亚洲av高清一级| 国产黄色免费在线视频| 伊人久久大香线蕉亚洲五| 一边摸一边做爽爽视频免费| 超碰97精品在线观看| 亚洲国产看品久久| av在线app专区| 免费在线观看完整版高清| 久久久国产精品麻豆| 精品福利永久在线观看| 少妇人妻 视频| 免费av中文字幕在线| 免费在线观看视频国产中文字幕亚洲 | 免费日韩欧美在线观看| 五月开心婷婷网| 欧美精品一区二区大全| 一区二区av电影网| 精品少妇内射三级| 国产乱来视频区| 精品亚洲成a人片在线观看| 女人久久www免费人成看片| 亚洲激情五月婷婷啪啪| 99久久精品国产亚洲精品| 激情五月婷婷亚洲| 卡戴珊不雅视频在线播放| 一边摸一边做爽爽视频免费| 久久精品熟女亚洲av麻豆精品| 99精国产麻豆久久婷婷| 日本一区二区免费在线视频| 亚洲欧洲日产国产| 我要看黄色一级片免费的| 婷婷色av中文字幕| 国产精品国产av在线观看| 香蕉丝袜av| 免费观看a级毛片全部| 国产片内射在线| 老司机亚洲免费影院| 日日啪夜夜爽| 亚洲国产日韩一区二区| 视频在线观看一区二区三区| 国产精品亚洲av一区麻豆 | 精品人妻在线不人妻| 久久人妻熟女aⅴ| 最黄视频免费看| 亚洲情色 制服丝袜| 水蜜桃什么品种好| 国产野战对白在线观看| 日本黄色日本黄色录像| 国产极品天堂在线| 免费久久久久久久精品成人欧美视频| 丝袜美足系列| 亚洲精品在线美女| 亚洲欧美色中文字幕在线| 老汉色av国产亚洲站长工具| 日韩av不卡免费在线播放| 啦啦啦在线观看免费高清www| 美女福利国产在线| 国产无遮挡羞羞视频在线观看| 精品一品国产午夜福利视频| 欧美黄色片欧美黄色片| 最新的欧美精品一区二区| 大码成人一级视频| 午夜福利影视在线免费观看| www.自偷自拍.com| 19禁男女啪啪无遮挡网站| 91精品三级在线观看| 51午夜福利影视在线观看| 少妇人妻久久综合中文| 成人漫画全彩无遮挡| 在线观看国产h片| 欧美 日韩 精品 国产| 老汉色av国产亚洲站长工具| 大香蕉久久成人网| av天堂久久9| 国产片特级美女逼逼视频| 天天躁夜夜躁狠狠躁躁| 国产熟女欧美一区二区| 欧美日韩成人在线一区二区| 久久热在线av| 悠悠久久av| 午夜福利免费观看在线| 亚洲免费av在线视频| 免费日韩欧美在线观看| 精品视频人人做人人爽| 日韩人妻精品一区2区三区| 夫妻午夜视频| 丝袜脚勾引网站| 久久毛片免费看一区二区三区| 一区二区三区精品91| 国产成人av激情在线播放| 热re99久久精品国产66热6| 午夜福利,免费看| 久久99精品国语久久久| 久久综合国产亚洲精品| 99热全是精品| 亚洲精华国产精华液的使用体验| 色精品久久人妻99蜜桃| 美女扒开内裤让男人捅视频| 亚洲欧美精品综合一区二区三区| av在线老鸭窝| 黑丝袜美女国产一区| 久久久久视频综合| 午夜91福利影院| 777久久人妻少妇嫩草av网站| 免费少妇av软件| 欧美激情高清一区二区三区 | 中文字幕亚洲精品专区| 黄色一级大片看看| 久久精品久久久久久噜噜老黄| 久久99热这里只频精品6学生| 国产欧美日韩一区二区三区在线| 美女高潮到喷水免费观看| 欧美人与性动交α欧美精品济南到| 国精品久久久久久国模美| 日韩制服丝袜自拍偷拍| 午夜福利在线免费观看网站| 日本wwww免费看| 亚洲精品国产av成人精品| 国产日韩欧美亚洲二区| 亚洲欧美一区二区三区黑人| 中国三级夫妇交换| 无限看片的www在线观看| 亚洲第一av免费看| 大话2 男鬼变身卡| 2018国产大陆天天弄谢| 国产乱来视频区| 国产在线免费精品| 国产国语露脸激情在线看| 亚洲婷婷狠狠爱综合网| 丝瓜视频免费看黄片| 日韩精品免费视频一区二区三区| 日韩熟女老妇一区二区性免费视频| 亚洲精品视频女| 777米奇影视久久| 一边摸一边做爽爽视频免费| 久久亚洲国产成人精品v| 哪个播放器可以免费观看大片| 91精品国产国语对白视频| 亚洲美女搞黄在线观看| 制服人妻中文乱码| 日韩 亚洲 欧美在线| 欧美黑人欧美精品刺激| 国产欧美日韩综合在线一区二区| 男男h啪啪无遮挡| 男人添女人高潮全过程视频| 黄片无遮挡物在线观看| 亚洲婷婷狠狠爱综合网| 久久国产精品男人的天堂亚洲| 色吧在线观看| 啦啦啦视频在线资源免费观看| 三上悠亚av全集在线观看| 国产免费现黄频在线看| 成人国语在线视频| 在现免费观看毛片| av视频免费观看在线观看| 丝袜人妻中文字幕| 卡戴珊不雅视频在线播放| 国产免费又黄又爽又色| 亚洲精品日韩在线中文字幕| 亚洲,一卡二卡三卡| 在线观看人妻少妇| 日韩大码丰满熟妇| 青青草视频在线视频观看| 久久久久久久国产电影| 午夜福利在线免费观看网站| 亚洲成国产人片在线观看| 一边摸一边做爽爽视频免费| 伦理电影大哥的女人| 一区二区三区精品91| 一二三四中文在线观看免费高清| 亚洲av在线观看美女高潮| av在线观看视频网站免费| 成人漫画全彩无遮挡| 亚洲av成人不卡在线观看播放网 | 男女高潮啪啪啪动态图| 国产乱来视频区| 午夜福利免费观看在线| 自拍欧美九色日韩亚洲蝌蚪91| 最近2019中文字幕mv第一页| 日本黄色日本黄色录像| 中国三级夫妇交换| 侵犯人妻中文字幕一二三四区| 国产在线免费精品| 色综合欧美亚洲国产小说| 免费看av在线观看网站| 午夜福利在线免费观看网站| 欧美另类一区| 黄色 视频免费看| 成年美女黄网站色视频大全免费| 人人妻人人添人人爽欧美一区卜| 亚洲精品国产av蜜桃| 欧美日韩亚洲综合一区二区三区_| 欧美国产精品一级二级三级| 久久久久久久大尺度免费视频| 高清黄色对白视频在线免费看| 青春草亚洲视频在线观看| 亚洲精品一区蜜桃| 亚洲av国产av综合av卡| 99久久99久久久精品蜜桃| 国产精品久久久av美女十八| 汤姆久久久久久久影院中文字幕| 王馨瑶露胸无遮挡在线观看| 精品一区二区三卡| 别揉我奶头~嗯~啊~动态视频 | 久久人妻熟女aⅴ| 日韩大片免费观看网站| 侵犯人妻中文字幕一二三四区| 亚洲久久久国产精品| 婷婷色综合大香蕉| 亚洲四区av| 亚洲,欧美,日韩| 日日撸夜夜添| 另类精品久久| 在线天堂最新版资源| 中文字幕最新亚洲高清| 久久久精品区二区三区| 岛国毛片在线播放| 日韩一卡2卡3卡4卡2021年| 成人影院久久| 十八禁高潮呻吟视频| 亚洲一码二码三码区别大吗| 一本—道久久a久久精品蜜桃钙片| 久久久久国产精品人妻一区二区| 精品一品国产午夜福利视频| 久久精品国产亚洲av高清一级| 免费观看人在逋| 国产不卡av网站在线观看| 亚洲欧洲精品一区二区精品久久久 | 一级,二级,三级黄色视频| 亚洲av日韩在线播放| 丰满乱子伦码专区| 男人爽女人下面视频在线观看| 80岁老熟妇乱子伦牲交| 1024视频免费在线观看| 91精品伊人久久大香线蕉| 午夜福利乱码中文字幕| 99精品久久久久人妻精品| www日本在线高清视频| 热99久久久久精品小说推荐| 桃花免费在线播放| 伦理电影大哥的女人| 亚洲精品乱久久久久久| 久久久久久人人人人人| 久久99一区二区三区| 丰满迷人的少妇在线观看| 亚洲国产精品国产精品| 亚洲精品,欧美精品| 久久精品国产综合久久久| 人人妻人人爽人人添夜夜欢视频| 免费不卡黄色视频| www.熟女人妻精品国产| 2021少妇久久久久久久久久久| 午夜福利视频在线观看免费| 成人国产av品久久久| 欧美日韩亚洲国产一区二区在线观看 | av免费观看日本| 国产日韩一区二区三区精品不卡| 伊人久久大香线蕉亚洲五| 精品酒店卫生间| 亚洲欧洲国产日韩| 国产精品熟女久久久久浪| 伊人久久国产一区二区| av视频免费观看在线观看| 成人国产av品久久久| 久久人妻熟女aⅴ| xxx大片免费视频| 欧美成人精品欧美一级黄| 日韩,欧美,国产一区二区三区| 国产精品三级大全| 国产亚洲一区二区精品| 黄片小视频在线播放| 极品人妻少妇av视频| av不卡在线播放| 亚洲国产精品999| 看非洲黑人一级黄片| 亚洲精品成人av观看孕妇| 国产又色又爽无遮挡免| 国产精品国产三级专区第一集| 亚洲欧美清纯卡通| avwww免费| 亚洲欧洲国产日韩| 9191精品国产免费久久| 在线观看免费视频网站a站| 天天躁夜夜躁狠狠久久av| 国产亚洲午夜精品一区二区久久| 亚洲国产精品国产精品| 男的添女的下面高潮视频| 国产1区2区3区精品| av在线app专区| 最黄视频免费看| 久久人人爽av亚洲精品天堂| 蜜桃国产av成人99| 香蕉丝袜av| 色综合欧美亚洲国产小说| 亚洲少妇的诱惑av| 久久人妻熟女aⅴ| 9191精品国产免费久久| 亚洲欧美色中文字幕在线| 制服丝袜香蕉在线| 丝袜美足系列| 国产xxxxx性猛交| 免费在线观看黄色视频的| 国产精品熟女久久久久浪| 十八禁网站网址无遮挡| 欧美日韩成人在线一区二区| 啦啦啦在线免费观看视频4| 蜜桃在线观看..| 99香蕉大伊视频| 日韩中文字幕欧美一区二区 | 亚洲四区av| 国产不卡av网站在线观看| 成年女人毛片免费观看观看9 | 婷婷成人精品国产| 久久女婷五月综合色啪小说| 欧美精品av麻豆av| 女的被弄到高潮叫床怎么办| 久久性视频一级片| 卡戴珊不雅视频在线播放| 国产又色又爽无遮挡免| 18在线观看网站| 最近2019中文字幕mv第一页| av.在线天堂| 久久久久人妻精品一区果冻| 乱人伦中国视频| 日韩av不卡免费在线播放| 在现免费观看毛片| 深夜精品福利| 成人影院久久| 亚洲自偷自拍图片 自拍| 亚洲国产毛片av蜜桃av| 国产熟女午夜一区二区三区| 一级片免费观看大全| 激情五月婷婷亚洲| 国产精品国产三级国产专区5o| 美女高潮到喷水免费观看| 国产麻豆69| av卡一久久| 国产乱人偷精品视频| 天天操日日干夜夜撸| 五月天丁香电影| 国产精品二区激情视频| 久久久久人妻精品一区果冻| 丝瓜视频免费看黄片| 看非洲黑人一级黄片| 色视频在线一区二区三区| 黄片小视频在线播放| 欧美日韩一级在线毛片| 美女视频免费永久观看网站| 久久性视频一级片| 最近手机中文字幕大全| 人体艺术视频欧美日本| 成人漫画全彩无遮挡| 宅男免费午夜| 国产亚洲欧美精品永久| 欧美在线黄色| 成人国语在线视频| 精品亚洲成国产av| 日韩大片免费观看网站| 久久久国产欧美日韩av| 少妇人妻久久综合中文| 人人妻,人人澡人人爽秒播 | 精品一区二区三卡| 久久久国产一区二区| 亚洲精品成人av观看孕妇| 免费人妻精品一区二区三区视频| 国产黄色视频一区二区在线观看| 国产黄色免费在线视频| 日韩欧美精品免费久久| 国产高清不卡午夜福利| 精品一区二区三区av网在线观看 | 中文字幕人妻丝袜制服| av国产久精品久网站免费入址| 无遮挡黄片免费观看| 亚洲精品久久久久久婷婷小说| 亚洲欧美日韩另类电影网站| videosex国产| 午夜日韩欧美国产| 人人妻人人爽人人添夜夜欢视频| 精品一区二区三区av网在线观看 | 伦理电影免费视频| 亚洲成人一二三区av| 99精国产麻豆久久婷婷| 丰满少妇做爰视频| 宅男免费午夜| 久久ye,这里只有精品| tube8黄色片| 日本午夜av视频| 亚洲欧美中文字幕日韩二区| 亚洲成人av在线免费| 男女边吃奶边做爰视频| 热99久久久久精品小说推荐| 亚洲精品乱久久久久久| 免费少妇av软件| 香蕉国产在线看| 777久久人妻少妇嫩草av网站| 久久天堂一区二区三区四区| 亚洲七黄色美女视频| 国产片特级美女逼逼视频| 成人亚洲欧美一区二区av| 99久久99久久久精品蜜桃| 91精品三级在线观看| 看免费av毛片| 精品人妻在线不人妻| 国产日韩一区二区三区精品不卡| 日韩 欧美 亚洲 中文字幕| 国产精品三级大全| www.自偷自拍.com| 久久久久精品久久久久真实原创| 性色av一级| 香蕉国产在线看| 国产黄色视频一区二区在线观看| 亚洲精品久久久久久婷婷小说| 一级毛片我不卡| 热99久久久久精品小说推荐| 两个人看的免费小视频|