打印
[STM32F2]

STM32 USB资料

[复制链接]
1474|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
单飞|  楼主 | 2016-4-9 16:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当前STM32 USB Host Library最新版的是V3.2.2 / 07-July-2015,之前用的V2.1.0 bug比较多,做U盘实验时有些不支持,最最关键的是不能很好的支持OS。所以,就看了一下最新版本的库文件,修复了很多bug,同时提供了OS接口。可惜,能力有限移植完成后,发现有问题。。。
吐槽:STM看来以后奔着HAL库去了,改来改去好麻烦,如果有移植成功的不妨放上来参考参考,小弟不胜感激!

STM32_USB_Device_Library.zip

95.06 KB

从机库

STM32_USB_Host_Library.zip

121.03 KB

主机库

DM00105256_zh.pdf

622.62 KB

USB库使用说明

沙发
huangcunxiake| | 2016-4-9 22:02 | 只看该作者
USBH_Init 初始化主机栈和底层。驱动应在应用程序启动时调用 USBH_DeInit 清理主机栈变量,并运行底层清理 (比如关闭所有打开的管道,清除 中断标志) USBH_RegisterClass 注册所支持的 USB 类处理程序。经过枚举后,主机检查当前的设备类 是否对应于注册的类。 USB_ReEnumerate 通过重新初始化主机栈并强制实施 VBUS 的断连 / 连接,对设备进行重 新枚举。 USBH_Start 使能主机端口的 VBUS 电源,然后开始底层操作。 USBH_Stop 关闭主机端口的 VBUS 电源,然后停止底层操作。 USBH_GetActiveClass 设备枚举和类初始化之后,返回当前的活动 USB 类 USBH_Process 以单任务运作模式实现内核状态机的主机过程函数。该函数应在主循环 的后台中调用,以处理主机状态机。


使用特权

评论回复
板凳
huangcunxiake| | 2016-4-9 22:02 | 只看该作者
主机内核通过调用用户回调函数,将 USB 事件传递给应用层。当调用 USBH_Init API 时,该  函数会作为参数进行传递。
用户回调函数的原型应为:
void (*pUsrFunc)(USBH_HandleTypeDef * phost, uint8_t event)
内核用户回调事件作为 event 参数

使用特权

评论回复
地板
单飞|  楼主 | 2016-4-10 19:55 | 只看该作者
huangcunxiake 发表于 2016-4-9 22:02
主机内核通过调用用户回调函数,将 USB 事件传递给应用层。当调用 USBH_Init API 时,该  函数会作为参数进 ...

VBUS没有使用,只用了DM和DP引脚。主要是新板用库跟现在用的库不兼容,剥离HAL部分很痛苦。。。

使用特权

评论回复
5
单飞|  楼主 | 2016-4-12 11:40 | 只看该作者
STM的官方历程无力吐槽了,分离硬件层(HAL库),分离OS层(cmsis_os),对于使用传统库函数和OS的人来说,真的是落伍了。。。

使用特权

评论回复
6
huangcunxiake| | 2016-4-13 22:29 | 只看该作者
是啊,落伍了,这个HAL真是不好学。

使用特权

评论回复
7
huangcunxiake| | 2016-4-13 22:30 | 只看该作者
主要还是没有中文教程,只能摸索着学习。

使用特权

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

本版积分规则

3

主题

4

帖子

0

粉丝