下载此文档

[精品]基于STM32的USB程序开发笔记.pdf


文档分类:IT计算机 | 页数:约66页 举报非法文档有奖
1/66
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/66 下载此文档
文档列表 文档介绍
基于STM32 的USB程序开发笔记
以前一直就有打玩 USB 的想法,最近时间充足于是决心打玩 STM32 的 USB,购买的是万利的 STM3210B-LK1 板,琢磨 USB 已有半个
多月,在固件、上位机驱动以及应用程序的访问这三方面终于有所突破,这期间通过网络上授寻了许多相关资料,主要来自 ST 提供
的 USB 固件,以及圈圈(computer00)提供的一些关于 USB 驱动开发的资料,通过这段时间的学****了解到学****USB 对于未接触过的朋
友来说确实存在许多的知识壁垒,本着开源精神,在此对 STM32 的 USB 固件程序的编写、DriverStudio + WindowsXP DDK + VC6 驱
动开发以及应用程序做了一些介绍,为更好理解,请仔细学****STM32 USB 的参考手册以及 USB 协议,如果对 VC6 下开发还不是太熟悉
或者说不曾学过,那么如果想理解有些问题,就必须学****VC6 了。本套笔记是基于我编写的程序进行说明的,请配合该程序进行学****br/>
第一篇:需要准备的一些资料
1:STM32 的参考手册,这对于设备底层 USB 的硬件配置以及事件驱动机制的了解尤为重要,你需要了解各个寄存器的功能以及如
何操作,TR、ISTR、EPnR、DADDR 等等,如果你想学****USB,这个手册是必须的。
2: 协议,这个资料同样必不可少,如果因为英语阅读能力而苦苦寻找中文版的 协议,建议不要这么做,现在网络
中的所谓的中文版的 协议不是官方撰写的,大多数是一些热心朋友自己翻译的,却不是很全面,如果你在为寻找这类的资料
而无所获时,建议认真塌实的看看官方英文版的 协议, 官方协议阐述的十分详细,650 多页,一字一句的了解全部协议不太
可行,可针对性的重点理解,比如对第9章USB Device Framework的详细理解对于你的 USB Device固件开发不可缺少(这里就是STM32)。
3:ST提供的USB固件库,这个类库较为散乱,但不可不参考

以下是链接包含固件、驱动以及应用程序,固件部分有些功能是不被支持的,如SR_SetDescriptor()、 SR_SynchFrame()等等,在此
说明不支持非故意如此,而是还没去更仔细深入编写完善,目前这些不被支持的部分目前不被使用到。
下载链接:http://blog./lbxxx
如果你使用的是万利的 STM3210B-LK1 开发板,则可以烧写 hex 文件后直接进行测试。以下一组图片说明的 XP 下驱动的安装过程以及
测试软件打开后的情形,仅参考。
测试软件:控制万利 STM3210B-LK1 开发板的 4 个 LED,并定时读取 Joystick 状态
第 2 篇:STM32 USB 固件函数的驱动原理
首先需要了解一个概念:
USB 设备(DEVICE)从来只是被动触发,USB 主机(HOST)掌握主动权,发送什么数据,什么时候发送,是给设备数据还是从设备请
求数据,都是由 USB 主机完成的,USB 设备只是配合主机完成设备的枚举、数据方向和大小。根据数据特性再决定该不该回复该如何
回复、该不该接收该如何接收这些动作。
了解这些,再仔细查看 STM32 的参考手册 USB 部分以及 STM32 的中断向量表,从中可以找到两个中断:
/*******************************************************************************
* Function Name : USB_HP_CAN_TX_IRQHandler
* Description : This function handles USB High Priority or CAN TX interrupts
* requests.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void USB_HP_CAN_TX_IRQHandler(void)
{
USB_HPI();
}

/*******************************************************************************
* Function Name : USB_LP_CAN_RX0_IRQHandler

[精品]基于STM32的USB程序开发笔记 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数66
  • 收藏数0 收藏
  • 顶次数0
  • 上传人化工机械
  • 文件大小0 KB
  • 时间2013-03-23