Lib USB 在vc6 0下的應用

2021-06-20 04:38:55 字數 1719 閱讀 5976

2. 通過vc建立乙個dialog。

3. 設定好介面

4. 正式開始usb設定

5 . program.

#include

/* usb.h

這個標頭檔案是要包括的,裡面包含了必須要用到的資料結構 */

/* 我們將乙個裝置的屬性用乙個結構體來概括 */

typedefstruct

device_descript;

/* 用來設定傳輸資料的時間延遲 */

#defineusb_timeout 10000

/* 廠家id 和產品 id */

#definevendor_id 0xffff

#defineproduct_id 0xffff

/* 這裡定義陣列來儲存裝置的相關屬性,device_minor可 以設定能夠同時操作的裝置數量,用全域性變數的目的在於方便儲存屬性 */

#definedevice_minor 16

intg_num;

device_descriptg_list[ device_minor ]; //

發現device。發現乙個奇怪的問題,vmware中不能執行,但是到真實的pc就可以,看來我要啟動到pc下開發了。

void ::onbuttondevie()}}

}m_ninfo.format(」founded %d \n」,g_num);

updatedata(false);}

好了,至此,就可以用usb其他的函式完成讀寫。

6. 關鍵函式使用

usb_control_msg--------

unsigned

char

outbuf[8];

unsigned

char

request=0x01;

outbuf[0]= '1';outbuf[1]= '2';outbuf[2]= '3';outbuf[3]= 0x33;outbuf[4] = 0x44;

outbuf[5]= 0x55;outbuf[6] = 0x66;outbuf[7] = 0x77;

//usb_control_msg

先傳送setup包,然後根據傳送緩衝區的大小,傳送in或out包

unsigned

char

nbytes = usb_control_msg(m_usbhandle,

usb_type_vendor| usb_recip_device | usb_endpoint_out,

request,

0x00,

0x00,

(char*)outbuf, 0x08,

5000);

usb_control_msg將會引起主機向從機傳送 setup事件,setup傳輸的資料階段就是usb_control_msg函式中的引數,另外,setup事物之後,主機會向從機傳送 out事物,根據outbuf的資料和 定義的size來傳送資料

usb_interrupt_write----

根據裝置定義的中斷out端點傳送資料,直接以out事務的形式傳送

usb_interrupt_read--------

根據裝置的描述符裡定義的中斷查詢時間,主機會以這個間隔來傳送int請求,等待從機的資料返回

水晶報表在VC6 0應用

p2sodbc.dll p2lodbc.dll crviewer.dll craxddt.dll craxdrt.dll crystl32.ocx p2ssql.dll 在8與8.5 中,你要註冊以下dll craxddrt.dll 如果報表中有動態建立欄位等功能。需要它。craxddt.dll 如...

在VC 6 0下設定GDI

2.在你將要使用gdi 的工程中,完成初始化工作 在stdafx.h中加入 define ulong ptr unsigned long include using namespace gdiplus include gdiplus.h gdiplusstartupinput m gdiplusst...

在VC6 0中的除錯

3.設定資料斷點,和上面不同也就是表示式,換成了乙個全域性變數,並且在斷點對話方塊中,選中data選項卡,然後輸入全域性變數名,那麼當這個全域性變數的值發生給變時,程式就會中斷。4.設定訊息斷點 就是指斷點與訊息及相應的訊息處理函式 當某個訊息處理函式處理了乙個斷點訊息,程式將在訊息處理函式處中斷。...