打印

ST的USB库使用问题

[复制链接]
2631|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ticomi|  楼主 | 2013-6-17 10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
USB, ST, DM, MCU, STM
我使用的是ST的STM32F2系列,USB库采用官方提供的STM32_USB-Host-Device_Lib_V2.1.0,

我下载到MCU中后,计算机不识别,配置为FS模式,用万用表测量DP对地电压约为3.3V,但是直接测量DM和DP间的电压则为0.5V左右,而DM对地是0V。

非常奇怪的现象,不知道是否有人遇到过类似的问题,如何解决的?

这个库是否可以直接使用?是否还有更合适的库来配置这个F2系列的MCU?

谢谢!
沙发
IJK| | 2013-6-17 11:28 | 只看该作者
使用的是ST的STM32F2系列,USB库采用官方提供的STM32_USB-Host-Device_Lib_V2.1.0

没问题,我这么用过。
要注意:外部晶振频率(HSE)和MCU的频率是否符合要求。

使用特权

评论回复
板凳
ticomi|  楼主 | 2013-6-17 11:32 | 只看该作者
IJK 发表于 2013-6-17 11:28
使用的是ST的STM32F2系列,USB库采用官方提供的STM32_USB-Host-Device_Lib_V2.1.0

没问题,我这么用过。

MCU主频48MHz,大于14.6MHz。外部8MHz,倍频给PLL。

是否需要单独配置USB模块的时钟?

谢谢!

使用特权

评论回复
地板
IJK| | 2013-6-17 12:05 | 只看该作者
ticomi 发表于 2013-6-17 11:32
MCU主频48MHz,大于14.6MHz。外部8MHz,倍频给PLL。

是否需要单独配置USB模块的时钟?

对于全速(FS),需要给USB模块提供48M时钟,否则USB运行不正确。

使用特权

评论回复
5
ticomi|  楼主 | 2013-6-17 12:09 | 只看该作者
IJK 发表于 2013-6-17 12:05
对于全速(FS),需要给USB模块提供48M时钟,否则USB运行不正确。

是的,USB主频是48MHz,我现在遇到的第一个问题是DP和DM的电压对地分别是3.3和0,但是两者之间的电压却是只有150mV左右,计算机根本无法识别的。非常奇怪。

使用特权

评论回复
6
IJK| | 2013-6-17 13:45 | 只看该作者
DP和DM用示波器量比较好,如果用万用表量需要其内阻大于1M欧

使用特权

评论回复
7
ticomi|  楼主 | 2013-6-17 14:32 | 只看该作者
IJK 发表于 2013-6-17 13:45
DP和DM用示波器量比较好,如果用万用表量需要其内阻大于1M欧

非常感谢指点。

我不清楚我使用的万用表测量内阻,我使用单端测量时发现是大于3.3V的,理论上计算机是可以识别的。但是没有识别。使用一朋友提供的HEX原码,据说是ST的官方例程修改的,计算机可以识别到并提示安装驱动,驱动安装后可以正常使用。

我使用的是V2.1.0的库文件,我在ST查到只有这个文件支持我这个F2系列。文件很多,一时难以整理清楚,我想问下,使用这个文件是否还需要修改什么才可以使用?
我是直接调用了USBD_Init()函数初始化,配置为FS模式,是否还需要配置其它部分?

谢谢!

使用特权

评论回复
8
ticomi|  楼主 | 2013-6-17 14:53 | 只看该作者
IJK 发表于 2013-6-17 13:45
DP和DM用示波器量比较好,如果用万用表量需要其内阻大于1M欧

可以识别了,由于采用的是USB转串口的方式,而我的计算机上已经安装了ST的串口驱动,这样每次就自动识别了,而没有出现所谓的识别到有设备而不知道是什么设备的情况。

非常感谢你的答复,我对USB非常不熟悉,刚刚开始做这一个模块。

非常感谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

852

帖子

4

粉丝