日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]1、如何動態(tài)地修改設(shè)備描述符或字符串描述符?在文件usbd_desc.c里,與設(shè)備和字符串相關(guān)的描述符可以通過GetDescriptor的回調(diào)函數(shù)進(jìn)行動態(tài)調(diào)整。2、如何讓大容量存儲類驅(qū)動支持多個邏輯盤【LUN】?在文件usbd_msc_sto

1、如何動態(tài)地修改設(shè)備描述符或字符串描述符?

在文件usbd_desc.c里,與設(shè)備和字符串相關(guān)的描述符可以通過GetDescriptor的回調(diào)函數(shù)進(jìn)行動態(tài)調(diào)整。

2、如何讓大容量存儲類驅(qū)動支持多個邏輯盤【LUN】?

在文件usbd_msc_storage_xxx.c中修改STORAGE_LUN_NBR?!緓xx代表使用的存儲介質(zhì)】

STORAGE_Inquirydata數(shù)組里包含了每個LUN的標(biāo)準(zhǔn)查詢數(shù)據(jù)【inquiry data】。

比如用到2個LUN。

constint8_t STORAGE_Inquirydata[] = {

/*LUN 0 */

0x00,

0x80,

0x02,

0x02,

(USBD_STD_INQUIRY_LENGTH- 5),

0x00,

0x00,

0x00,

'S','T', 'M', ' ', ' ', ' ', ' ', ' ', /* Manufacturer:

8bytes */

'm','i', 'c', 'r', 'o', 'S', 'D', ' ', /* Product:

16Bytes */

'F','l', 'a', 's', 'h', ' ', ' ', ' ',

'1','.', '0' ,'0', /* Version: 4 Bytes */

/*LUN 1 */

0x00,

0x80,

0x02,

0x02,

(USBD_STD_INQUIRY_LENGTH- 5),

0x00,

0x00,

0x00,

'S','T', 'M', ' ', ' ', ' ', ' ', ' ', /* Manufacturer:8 bytes */

'N','a', 'n', 'd', ' ', ' ', ' ', ' ', /* Product:16 Bytes */

'F','l', 'a', 's', 'h', ' ', ' ', ' ',

'1','.', '0' ,'0', /* Version: 4 Bytes */

};

3、端點的地址在哪里定義?

端點地址一般在各個類驅(qū)動的頭文件里定義。

比如MSC類的端點定義就在 usbd_msc.h定義如下:

#define MSC_EPIN_ADDR 0x81 //For Endpoint 1 IN

#defineMSC_EPOUT_ADDR 0x01 // For Endpoint 1 OUT

4、USB設(shè)備庫是否可以任意運行在FULL SPEED或HIGH SPEED模式?

是的,該庫支持USB OTG FS和USBOTG HS模式。其中,USB OTG FS內(nèi)核僅支持FS模式,USB OTG HS內(nèi)核既支持FS模式也支持HS模式。

用戶通過如下宏選擇合適的USB核:

"USE_USB_HS"http:// USB High Speed (HS) Core

"USE_USB_FS"http:// USB Full Speed (FS) Core

"USE_USB_HS"and "USE_USB_HS_IN_FS" // USBHigh Speed (HS) Core in FS mode

5、如何在USB設(shè)備類驅(qū)動里面修改或增加端點?

a.使用USBD_LL_OpenEP()進(jìn)行端點的初始化。

b.在usb_conf.c里為新定義的端點配置發(fā)送或接收FIFO。

以STM32F2、STM32F4等支持OTG功能的MCU為例。

用到HAL_PCD_SetRxFiFo()和HAL_PCD_SetTxFiFo()配置TX/RX的FIFO。

注意配置TX和RX FIFO的大小時不得超過對應(yīng)的USB核所擁有的全部FIFO.

USBOTG FS core的FIFO 為320 x 32 bits(1.25 Kbytes)

USBOTG HS core的FIFO 為1024 x 32bits (4 Kbytes)

對于僅支持FS核的STM32F0,STM32L0, STM32F1 and STM32F3系列,

使用HAL_PCD_PMA_Config() 進(jìn)行PMA的配置。

6. USB設(shè)備庫與實時操作系統(tǒng)兼容嗎?

是的,該USB 設(shè)備庫可以配合RTOS使用。其中CMSIS RTOS的封裝器實現(xiàn)對OS內(nèi)核的抽象。

關(guān)于STM32CUBE USB設(shè)備庫應(yīng)用介紹的更多細(xì)節(jié),請查看ST官方提供的使用手冊UM1734。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉