<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

虛擬示波器的數據采集器解析方案

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

三、軟件設計

單片機端軟件:

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

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

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

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

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

void ch371_init()

{

CH371_INT_SET=0; file://CH371中斷數據設定寄存器的地址偏移

CH371_LENGTH=0X0F; file://置上傳數據長(cháng)度寄存器為15,表示暫時(shí)沒(méi)有數據上傳

save_length=0; file://保存下傳數據長(cháng)度

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

IE0=0; file://清中斷標志

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

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

}

file://***********上傳數據子程序********************************

void ch371_upload(unsigned char len) file://參數傳入數據長(cháng)度

{

unsigned char i;

unsigned char *up_buf;

unsigned char *ch371_buf;

if(len!=0)

{

up_buf=ret_buffer; file://指向數據的地址

ch371_buf=CH371_BUFFER; file://指向數據緩沖區

for(i=0;i{

*ch371_buf=*up_buf; file://寫(xiě)入上傳數據緩沖區

ch371_buf++; up_buf++;

}

}

CH371_LENGTH=len; file://寫(xiě)入本次數據的長(cháng)度

}

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


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


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>