久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6019|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于STM32Cube USB設(shè)備庫應(yīng)用的幾個(gè)常見問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98618 發(fā)表于 2016-11-15 01:27 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式


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

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

 

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

在文件usbd_msc_storage_xxx.c中修改STORAGE_LUN_NBR。【xxx代表使用的存儲(chǔ)介質(zhì)】

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

比如用到2個(gè)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、端點(diǎn)的地址在哪里定義?

端點(diǎn)地址一般在各個(gè)類驅(qū)動(dòng)的頭文件里定義。

比如MSC類的端點(diǎn)定義就在 usbd_msc.h定義如下:

#define MSC_EPIN_ADDR 0x81    //For Endpoint 1 IN

#defineMSC_EPOUT_ADDR 0x01 // For Endpoint 1 OUT

 

4、USB設(shè)備庫是否可以任意運(yùn)行在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ū)動(dòng)里面修改或增加端點(diǎn)?

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

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

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

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

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

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

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

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

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

 

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

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

 

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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久久久久久久亚洲 | 亚洲成人一区 | 免费精品视频在线观看 | 999国产精品视频 | 日韩中文字幕在线观看 | 国产女人与拘做受视频 | 国产精品污www一区二区三区 | 久久剧场| 亚洲一区二区在线播放 | 久久精品国产一区二区 | 成人精品一区二区三区 | 国产精品久久一区二区三区 | 日韩一及片 | 国产精品高潮呻吟久久av黑人 | 国产黄色av网站 | 欧美一区二区三区电影 | 久久精品欧美一区二区三区不卡 | 一级黄色毛片免费 | 久久久久久国产精品 | 中文字幕11页 | 欧美日韩精品一区二区三区蜜桃 | 欧美一级在线 | 99久久精品免费看国产四区 | 欧美一级电影免费观看 | 亚洲一区成人 | 亚洲综合区 | 久久激情五月丁香伊人 | 精品国产乱码久久久久久丨区2区 | 国产精品综合色区在线观看 | 精品久久久久久久久久久久 | 久久九九99 | 91一区二区三区 | 亚洲国产精品成人无久久精品 | 伊人精品视频 | 丝袜天堂| 少妇一区在线观看 | 欧美日韩最新 | 国产精品18hdxxxⅹ在线 | 久久亚洲视频 | 欧美精品在线播放 | 中文成人在线 |