久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > USB接口單片機SL11R的特點及應用

USB接口單片機SL11R的特點及應用

作者: 時間:2009-08-05 來源:網絡 收藏

本文引用地址:http://cqxgywz.com/article/173650.htm

MCS51等沒有BIOS的,需要開發者控制CPU的每一步運行,程序必須在某一段反復循環,程序結構見圖2。由于有BIOS支持,它的程序結構就與MCS51有所區別。的主體循環是在BIOS內部,實際上用戶程序一般只是BIOS的中斷響應子程序。也就是說,開發者所編的的用戶程序可以沒有主循環體。SL11R的用戶程序結構見圖3。值得指出的是,開發者也可以擺脫BIOS的控制,程序不在BIOS內部循環。但該程序設計難度較大,因為這時開發者需要自己直接處理的底層軟件,一般沒有特殊要求不要使用這種方式。

3.2.2 SL11R的編程

SL11R的大部分功能都可以通過BIOS調用實現。的編程也是調用BIOS實現。SL11R復位后會自動配置USB,與主機建立USB通訊,一般情況下開發者可以不進行干預。

開發者主要使用的與USB有關的BIOS軟件中斷:

?USB_STAND_INT、USB_CLASS_INT、USB_VENDOR_

INT、USB_FINISH_INT 這些中斷主要是為了實現USB通訊,其中USB_VENDOR_INT是接受主機控制指令中斷,主機對SL11R的控制基本上都是通過它實現的。

?USB_SEND_INT、USB_RECEIVE_INT這兩個中斷用于USB發送、接收數據。可以通過配置,分別使用USB的四個端口。

3.3 主機軟件設計

要開發SL11R主機軟件,一種簡單、快捷的方式是借助于SL11R開發工具包(SL11R DVK)。通過學習工具包中附帶的例子程序可以在較短的時間內開發出一個軟件,用戶不需自己開發驅動程序。該工具包可以從ScanLogic公司的網站(www.scanlogic.com)下載得到。工具包中包括的內容有:通用驅動程序、例子程序和開發用的文檔資料。對于一般的開發工作可以直接使用工具包中的驅動。用于Windows98系統的三個文件分別是: slusbgen.sys、usb2epp.sys和usbdev.inf。

在AppWizard (zip)源代碼包中,可以找到用VC寫成的主機例子程序(usbtest.exe)的源代碼。其中有幾個文件對利用ScanLogic公司提供的驅動程序來開發程序很有幫助。在頭文件slusb.h中含有如下函數原型:

BOOL FAR PASCAL CloseUsbDev(VOID); //關閉USB口

BOOL FAR PASCAL FindUsbDev(WORD wProd); //打開USB口

BOOL UsbVendorCmdRead(BYTE bCmd,WORD wValue,

WORD wIndex, WORD wLen, PVOID pData); //發送讀控制指令

BOOL UsbVendorCmdWrite(BYTE bCmd, WORD wValue,

WORD wIndex, WORD wLen, PVOID pData); //發送寫控制指令

BOOL UsbDataRead(DWORD n, PVOID pData); //讀數據塊

BOOL UsbDataWrite(DWORD n, PVOID pData); //寫數據塊

只要在程序中靈活用好以上幾個函數,做一些簡單的數據采集工作是完全可行的,筆者就是借用這幾個函數在實際工作中成功完成了應用系統的開發。

文件devioctl.h包含有slusb.h中需要的常數和宏的定義。在文件usbtest.cpp中定義了控制SL11R操作的指令代碼。

SL11R是一種功能強大的USB接口,它的16位總線及DMA傳輸模式允許進行大容量數據的高速傳輸,可以進行高速數據采集。而且SL11R的編程簡單,無需專用開發裝置,開發成本低,初次接觸USB的開發人員可以很容易實現應用系統的開發。


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉