极品馒头泬19p,国产精品亚洲一区二区三区,狠狠色噜噜狠狠狠7777奇米,国产精品视频一区二区三区无码,国产欧美日韩久久久久

【E1122】自己搜集的USB虛擬串口的資料

2021-09-12 16:47:25      索煒達電子      700     

項目編號:E1122

文件大小:29M

源碼說明:帶中文注釋

開發(fā)環(huán)境:C編譯器

簡要概述:

下面幾條是我在學習過程中記錄下來的問題的解決辦法,或者是小知識點,有不對的地方懇請大牛糾正:

安裝USB虛擬COM口驅動時出現(xiàn)“INF中的服務段落無效”,解決方法如下:fficeffice" />

(1)下載mdmcpq.inf和usbser.sys

(2)將mdmcpq.inf復制到c:\windows\inf

(3)將usbser.sys復制到c:\windows\system32\drivers

小技巧:比如要打開c:\windows\inf,只要在地址欄(IE輸入網址的地址欄和我的電腦里的地址欄都一樣),輸入c:\windows\inf即可打開。

STM32的USB模塊可以產生三種中斷:USB喚醒中斷、USB高優(yōu)先級中斷和USB低優(yōu)先級中斷,在STM32的參考手冊中沒有詳細說明這三種中斷對應哪些事件,現(xiàn)說明如下:

1)USB喚醒中斷:在中斷向量表中的位置是42。這個中斷在USB設備從暫停模式喚醒時產生,喚醒事件由USB_ISTR寄存器的WKUP位標識。

2)USB高優(yōu)先級中斷:在中斷向量表中的位置是19。這個中斷僅由USB同步(Isochronous)模式傳輸或雙緩沖塊(Bulk)傳輸模式下的正確傳輸事件產生,正確傳輸事件由USB_ISTR寄存器的CTR位標識。

3)USB低優(yōu)先級中斷:在中斷向量表中的位置是20。這個中斷由所有其它的USB事件產生,例如正確傳輸(不包括同步模式和雙緩沖塊模式)、USB復位等,事件標志位在USB_ISTR寄存器中。

在STM32的USB開發(fā)包的例子中包含了上述中斷的處理,例如在USB揚聲器的例子中,CTR_HP函數處理USB高優(yōu)先級中斷;在所有例子中都有USB_Istr()函數處理USB低優(yōu)先級中斷。

USB如何區(qū)分低速、全速和高速設備:對于全速和高速設備,上拉電阻是接在D+上;而低速設備則是上拉電阻接在D-上。

USB枚舉過程:

(1)       USB主機檢測到USB設備插入后,對設備復位。

(2)       USB主機對設備發(fā)送獲取設備描述符的標準請求。

(3)       設備收到該請求后,在數據過程將設備描述符返回給主機。

(4)       主機在成功獲取到一個數據包的設備描述符后并且確認無錯誤后,返回一個0長度的狀態(tài)數據包給設備。

(5)       主機再對設備復位一下,接下來進入到設置地址階段。

(6)       USB主機發(fā)出一個設置地址的請求,地址包含在建立包中。

(7)       USB設備在收到地址后,返回0長度的狀態(tài)包。

(8)       主機收到0長度的狀態(tài)包之后,返回一個ACK。

(9)       設備在收到這個ACK之后,就可以啟用新的地址了。

USB一直進中斷的原因:主機每1ms就給設備發(fā)送一個sof,3ms沒反應主機就掛起。所以一直進中斷屬于正?,F(xiàn)象。

USB虛擬串口使用時應注意:

(1)       用于上拉的控制位使能時,主機能檢測到USB設備。

(2)       設備插入時,地址為0,后由主機分配地址。

(3)       枚舉結束前(即設備被識別前),不能中斷程序,否則設備不能被識別。

(4)       設備發(fā)送usb_SendDataToHost("\r\n$ERRCMD#\r\n", 10)注意數據長度為10,而不為16.(不知道是不是“\$#這樣的符號不算,求大神賜教”)

主機發(fā)送“WHO’S DEMO”這類有空格的字符串時,空格會被省略,在設備里計算長度時應為9,而不為10.

目錄│文件列表:

 │ Ex023-USB虛擬串口通信例程(V2.0_2011-10-16).rar

 │ mdmcpq.inf_usbser.sys.rar

 │ STM32虛擬串口PC機驅動(配合USB虛擬串口例程使用).rar

 │ 圈圈教你玩USB.pdf

 └ 基于STM32的USB程序開發(fā)筆記.pdf

TAGUSB虛擬串口
  • 3 次
  • 1 分