<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è) > 嵌入式系統 > 設計應用 > 一種基于USB的通用無(wú)線(xiàn)傳輸接口設計

一種基于USB的通用無(wú)線(xiàn)傳輸接口設計

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

2 軟件設計

2.1 PDIDl2驅動(dòng)軟件構架

為了使驅動(dòng)軟件可移植性強、易維護,采用分層的方法編寫(xiě)PDIDl2的驅動(dòng)程序,圖4為驅動(dòng)程序軟件分層結構圖。

USB驅動(dòng)程序軟件包提供給用戶(hù)6個(gè)API函數,這6個(gè)函數都在USB應用層中定義,功能描述如表1所列。

下面以接收和發(fā)送數據任務(wù)為例,演示了一個(gè)任務(wù)從端點(diǎn)2發(fā)送1024個(gè)字節。部分源代碼如下:

#define RW_NUMS 1024 //任務(wù)收發(fā)數據字節數
void TaskRecl(void*pdata)
{#if OS_CRlTICAL_METHOD==3
//為CPU狀態(tài)寄存器分配存儲空間
OS_CPU_SR cpu_sr;
#endif
INT8U Buff[RW_NUMS]; //接收及發(fā)送緩沖區
INT8U ack=0x01; //應答主機數值
INT8U err; //函數返回值
pdata=pdata; //避免編譯器警告
for(;;){
OSSemPend(TaskReel_Sere,0,-err);//等待TaskStart的命令
err=WritePortl(1,&ack,200); //應答USB主機
if(err==USB_NO_ERR){ //應答正確
err=ReadPort2(RW_NUMS,Buff,200);//接收數據
OSTimeDly(1); //延時(shí)一個(gè)時(shí)鐘周期
if(err==USB_NO_ERR){ //接收正確
Buff[0]=OSPrioCur; //標識該任務(wù)
err=WritePort2(RW_NUMS,Buff,200);//發(fā)送數據
}
}
}}

2.2 CY7063231軟件設計

USB 外圍控制器控制射頻芯片,同時(shí)與微控制器的USB口相連,實(shí)現無(wú)線(xiàn)數據的接收和發(fā)送。下面以接收無(wú)線(xiàn)數據為例。主程序UsbTaskLoop,它是一個(gè)無(wú)限循環(huán),僅僅在中斷的時(shí)候跳出。程序檢測的DRl和DR2引腳,當DRl上的電平為高時(shí),產(chǎn)生中斷跳到Receivechl子程序,當DR2上的電平為高時(shí),產(chǎn)生中斷跳到Receivech2子程序。USBSend程序負責從端口1向上位機發(fā)送數據,WaitforAck程序等待上位機對端口1的應答信號,Receivechl和Receivech2程序分別從的通道1 和通道2接收數據。最后調用DATAOUT把數據傳給上位機,然后調用WaitforAck。Prg2401程序段負責對nRF2401進(jìn)行操作控制,能夠通過(guò)設置不同的參數使nRF2401工作在三種不同的工作模式。

結 語(yǔ)

本系統采用32位嵌入式微處理器進(jìn)行核心控制,具有強大的數據處理能力。該設計可以通過(guò)無(wú)線(xiàn)局域網(wǎng)進(jìn)行無(wú)線(xiàn)傳輸,并且可在A(yíng)RM中對無(wú)線(xiàn)接收的數據進(jìn)行處理,以進(jìn)一步應用于圖像處理,智能監控,以及遠程電視電話(huà)會(huì )議等。因此,基于A(yíng)RM的嵌入式USB口無(wú)線(xiàn)接收處理系統具有廣闊的應用前景和市場(chǎng)。


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

關(guān)鍵詞: LPC2210 USB nRF2401 CY7C63231

評論


相關(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>