中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)圖像采集與網(wǎng)絡(luò)傳輸

        單片機(jī)圖像采集與網(wǎng)絡(luò)傳輸

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

        上面說(shuō)到,“IP組播地址”范圍是224.0.0.0到239.255.255.255。而以太網(wǎng)幀用到的“MAC組播地址”范圍是 01:00:5E:00:00:00-01:00:5E:7F:FF:FF 。MAC組播地址的構(gòu)成方法是:前3個(gè)字節(jié)固定用01:00:5E,后3個(gè)字節(jié)則用IP組播地址的后3個(gè)字節(jié)。所以我們用234.5.6.7作IP組播地址時(shí),對(duì)應(yīng)的MAC組播地址就是 01:00:5E:05:06:07。

        在下面的程序中,RTL8019AS用查詢方式進(jìn)行發(fā)送操作。
        UCHAR code dest_hwaddr[6] = { 0x01, 0x00, 0x5E, 0x05, 0x06, 0x07}; // 目標(biāo)MAC組播地址
        UCHAR code my_hwaddr[6] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 }; // 源MAC地址
        void eth_send(UCHAR xdata * outbuf, UINT Data_len) // (例程7--以太網(wǎng)幀封裝和發(fā)送):
        { UINT i , send_len; ETH_HEADER xdata * eth; eth = (ETH_HEADER xdata *)outbuf;
        for(i=0;i6;i++)
        { eth->dest_hwaddr[i]= dest_hwaddr[i]; // 裝入目的MAC地址。
        eth->source_hwaddr[i]= my_hwaddr[i]; // 裝入源MAC地址。
        }
        eth->frame_type = IP_PACKET; // 數(shù)據(jù)類型為IP數(shù)據(jù)報(bào)
        // send_len為實(shí)際要發(fā)送的以太網(wǎng)幀長(zhǎng)度,它不能小于60字節(jié):
        send_len = (Data_len>=60) ? Data_len : 60 ;
        reg00=0x22; // 選擇0頁(yè)寄存器,啟動(dòng)芯片。
        while( reg00 0x04 ); // 原來(lái)的數(shù)據(jù)發(fā)送完沒有?完了往下執(zhí)行
        reg08=0x00; reg09=0x40; // 設(shè)置發(fā)送緩沖區(qū)開始地址為4000H。
        //設(shè)置(RBCR0-1)遠(yuǎn)端DMA傳送數(shù)據(jù)包長(zhǎng)度(高、低字節(jié)):
        reg0a=(unsigned char)(Data_len); reg0b=(unsigned char)(Data_len>>8);
        reg00=0x16; // 設(shè)置遠(yuǎn)端DMA寫,啟動(dòng)遠(yuǎn)端DMA傳送數(shù)據(jù)到發(fā)送緩沖區(qū)
        for(i=0;iData_len;i++) reg10=outbuf[i]; // 往RTL8019AS的I/O端口傳送數(shù)據(jù)
        reg04=0x40; // 設(shè)置發(fā)送緩沖區(qū)開始地址高字節(jié)
        //設(shè)置(TBCR0-1)發(fā)送字節(jié)計(jì)數(shù)器的計(jì)數(shù)長(zhǎng)度(高、低字節(jié)):
        reg05=(unsigned char)(send_len); reg06=(unsigned char)(send_len>>8);
        reg00=0x26; // 啟動(dòng)本地DMA操作,向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)。
        }

        上述程序先設(shè)置好遠(yuǎn)端DMA開始地址(RSAR)和遠(yuǎn)端DMA數(shù)據(jù)字節(jié)數(shù)(RBCR),并設(shè)置遠(yuǎn)端DMA寫( reg00=0x16),就可以把數(shù)據(jù)寫入RTL8019AS的數(shù)據(jù)緩沖區(qū)。給出發(fā)送緩沖區(qū)首地址和數(shù)據(jù)包長(zhǎng)度后,啟動(dòng)發(fā)送命令 (reg00=0x26), RTL8019AS就會(huì)按以太網(wǎng)協(xié)議將圖像數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上。

        4. 結(jié)束語(yǔ)

        TCP/IP協(xié)議較復(fù)雜,嵌入式系統(tǒng)自身的資源又很有限,動(dòng)輒幾十K的TCP/IP協(xié)議棧,使很多入門者望而卻步。其實(shí)要在嵌入式系統(tǒng)實(shí)現(xiàn)TCP/IP協(xié)議,只不過(guò)就是編制各個(gè)符合TCP/IP協(xié)議規(guī)則的軟件模塊罷了。根據(jù)自己系統(tǒng)的具體情況編制專門的功能模塊,也可以實(shí)現(xiàn)相當(dāng)簡(jiǎn)化的TCP/IP協(xié)議棧。本文在此給出了一個(gè)可供借鑒的實(shí)例。

        參考文獻(xiàn):
        [1] 吳禮發(fā), 網(wǎng)絡(luò)程序設(shè)計(jì)教程[M],北京:希望電子出版社,2002.1
        [2] RTL8019AS SPECIFICATION[EB/OL],REALTEKSEMI-CONDUCTOR CO., LTD , 2000.8.20
        [3] 與TCP/IP網(wǎng)絡(luò)[EB/OL], HTTP:// WWW.LAOGU.COM


        上一頁(yè) 1 2 3 4 下一頁(yè)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉