在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 虛擬示波器的數(shù)據(jù)采集器解析方案

            虛擬示波器的數(shù)據(jù)采集器解析方案

            作者: 時間:2012-05-08 來源:網(wǎng)絡(luò) 收藏

            三、軟件設(shè)計

            單片機端軟件:

            單片機端軟件主要完成控制、數(shù)據(jù)報告這兩個功能。其中控制根據(jù)計算機端軟件設(shè)定的增益、時基、觸發(fā)等參數(shù)控制模塊,這里面要用到計算機向單片機發(fā)送少量的控制信息;數(shù)據(jù)報告功能則需要單片機將緩存中的一個采集周期的所有數(shù)據(jù)傳送給計算機端軟件,這屬于大批量數(shù)據(jù)的傳輸。我們把介紹的重點放在單片機與計算機的通信上面。

            單片機與計算機通信是通過對CH371的寄存器操作實現(xiàn)的,有關(guān)其寄存器定義的具體情況請參考數(shù)據(jù)手冊。

            在應(yīng)用中需要注意的是,CH371提供的單片機接收緩沖區(qū)為8個字節(jié),多于8個字節(jié)的計算機下傳數(shù)據(jù)被切分;而單片機的發(fā)送緩沖區(qū)也是8個字節(jié),多于8個字節(jié)的上傳數(shù)據(jù)需要分多次上傳。另外,CH371的中斷包括了上傳及接受成功,中斷發(fā)生后具體的情況需要由傳輸狀態(tài)寄存器來辨別;同時其中斷電平是單穩(wěn)態(tài)的,一個事件發(fā)生后中斷信號跳變,但僅維持一個短暫的脈沖便恢復(fù),這是為了配合不同速度的處理器而作的處理。

            單片機與計算機的USB通信主要功能子程序示例如下:(請在使用時加入CH371的相應(yīng)寄存器的地址定義)

            file://********** CH371初始化程序******************************

            void ch371_init()

            {

            CH371_INT_SET=0; file://CH371中斷數(shù)據(jù)設(shè)定寄存器的地址偏移

            CH371_LENGTH=0X0F; file://置上傳數(shù)據(jù)長度寄存器為15,表示暫時沒有數(shù)據(jù)上傳

            save_length=0; file://保存下傳數(shù)據(jù)長度

            IT0=1; file://外部信號為下降沿觸發(fā)

            IE0=0; file://清中斷標(biāo)志

            PX0=1; file://置高優(yōu)先級

            EX0=1; file://允許中斷

            }

            file://***********上傳數(shù)據(jù)子程序********************************

            void ch371_upload(unsigned char len) file://參數(shù)傳入數(shù)據(jù)長度

            {

            unsigned char i;

            unsigned char *up_buf;

            unsigned char *ch371_buf;

            if(len!=0)

            {

            up_buf=ret_buffer; file://指向數(shù)據(jù)的地址

            ch371_buf=CH371_BUFFER; file://指向數(shù)據(jù)緩沖區(qū)

            for(i=0;i{

            *ch371_buf=*up_buf; file://寫入上傳數(shù)據(jù)緩沖區(qū)

            ch371_buf++; up_buf++;

            }

            }

            CH371_LENGTH=len; file://寫入本次數(shù)據(jù)的長度

            }

            c++相關(guān)文章:c++教程


            晶振相關(guān)文章:晶振原理


            評論


            相關(guān)推薦

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

            關(guān)閉