用libUSB來實現自己的驅動+下位機理論速度。=1M字節每秒。
達到極限速度
WINDOWS已經自帶虛擬串口驅動,只不過還需要一個Inf文件
方法1:直接下載一個串口inf,來修改文件。
方法2:用libUSB來實現自己的驅動。。。及應用。用那個工具安裝成自己定義的設備名字,應用程序就根據PID,VID來找到我們的設備,進行一系列讀寫。
|
下位機:
1,配置描述符的編寫,見工程代碼注釋。主要是CDC類接口用端點2,數據接口用端點1和端點3
2,Get_line_coding請求,獲取串口屬性。波特率、停止位、校驗類型、數據位數。避免移植的大小端、對齊、填充模式等問題。不用結構體,使用數組。
這是設置真實串口波特率,而虛擬串口想多快就有多快
usb_prop.c
LINE_CODING linecoding =
{
115200, /* baud rate*/
0x00, /* stop bits-1*/
0x00, /* parity - none*/
0x08 /* no. of bits 8*/
};
{
115200, /* baud rate*/
0x00, /* stop bits-1*/
0x00, /* parity - none*/
0x08 /* no. of bits 8*/
};
3,Set_line_coding,設置串口屬性
4,處理串口數據
Usb_endp.c
EP1_IN_Callback() 設備向主機輸入數據,
EP3_OUT_Callback() 主機向設備輸出數據