STM32F系列用USB通讯
本人想用STM32F系列的芯片自带的USB模块功能去和计算机实行收发数据,不用嵌系统的形式,该如何进行编程?驱动的问题又怎么解决?STM32 USB HID和STM32 USB CDC这两种形式,我应该使用哪种?如果使用了STM32 USB HID这种,是不是我就不用装驱动了,xp系统就能自动发现USB了,然后直接用上位机的软件和芯片通讯就行?求助高手,给小弟一个大概的思路,怎么能实现STM32的USB和上位机进行通讯?我需要从哪学起?
RE:STM32F系列用USB通讯
不安装驱动是不可以的,因为这个是USB的特性。他不像串口,可以直接使用。建议程序参考例程中的USB转串口的例程。按他这个方式做就可以。回复:STM32F系列用USB通讯
windonw自带USB HID和CDC的驱动,就不用自己考虑驱动的问题了。RE:STM32F系列用USB通讯
首先,我觉得进行USB通讯的开发并不是一件容易的事,相比于早期的串行接口,USB接口及其协议更加复杂,也正是因为这种复杂性,能使USB接口能完成各种丰富多彩的应用。USB2.0规范的最基础的部分提供了USB接口的物理特性和传输方式,规定了控制传输、中断传输、批量传输和同步传输四种方式,完成了设备、配置、接口、端点的逻辑结构。在此基础上,根据不同的外部设备,提出了不同的类协议,例如,USBHID类就是用于键盘、鼠标等人机接口设备通讯,USBCDC类是通讯类,可用于模拟串口通讯。
开发一个带USB通讯接口的设备可分为两部分,即设备的固件程序和主机(比较多的是Windows系统)的驱动程序。Windows系统一般自带了比较通用的设备的驱动程序,而这类设备的USB固件程序代码也比较容易找得到,开发难度就可以大为降低。因此,开发一个带USB通讯接口的设备首要的是确定要开发的是哪一类设备,设备和主机之间交换哪些信息,交换信息的方式有什么特征,以此来确定可以使用USB规范中的哪种类协议。如果你的设备比较特殊或者你的设备极其简单,你也可以自己开发驱动程序。
不管怎么说,你首先需要熟悉USB通讯过程,建议你看看《圈圈教你玩USB》这本书,非常适合入门。然后你必须熟悉下位机的固件程序开发过程,如果采用的芯片技术支持不好,一切从零开始就比较痛苦了。STM32系列芯片中集成了符合2.0规范的USB模块,是个不错的开发选择,而且它的库程序提供了可靠的USB协议栈框架,有完善的应用程序接口和较丰富的应用程序示例,极大的便利了USB固件程序开发。
回复:STM32F系列用USB通讯
回复第 3 楼 templeton于2010-09-14 01:23:07发表:windonw自带USB HID和CDC的驱动,就不用自己考虑驱动的问题了。
我只是想用STM32F10x的芯片发一个数据(例如:A或者1什么的),然后上位机用编的程序(或者USB调试工具)能收到就行,我该什么做?
回复:STM32F系列用USB通讯
回复第 2 楼 安 于2010-09-13 00:39:38发表:不安装驱动是不可以的,因为这个是USB的特性。他不像串口,可以直接使用。建议程序参考例程中的USB转串口的例程。按他这个方式做就可以。
我看网上有很多人说不用开发驱动的,只要把hid的配置写清楚,PC机会自动发现的,我只是想用STM32F10x的芯片发一个数据(例如:A或者1什么的),然后上位机用编的程序(或者USB调试工具)能收到就行,我该什么做?
回复:STM32F系列用USB通讯
回复第 4 楼 zysyw0于2010-09-14 02:23:00发表:谢谢你的精彩讲述,说的太复杂了,我有点迷茫了,我只是想用STM32F10x的芯片发一个数据(例如:A或者1什么的),然后上位机用编的程序(或者USB调试工具)能收到就行,我该什么做?
我该用什么情况的通讯?好像有OTG,HID。。。。等等。。
RE:STM32F系列用USB通讯
我以前用过cycess公司的68013芯片,其实USB还是并不是想象的那么复杂,只要理清概念,还是容易上手的!与PC相连,驱动肯定是要写的,但是有专用的工具生成驱动!回复:STM32F系列用USB通讯
回复第 8 楼 wqp1111于2011-02-17 03:11:43发表:我以前用过cycess公司的68013芯片,其实USB还是并不是想象的那么复杂,只要理清概念,还是容易上手的!与PC相连,驱动肯定是要写的,但是有专用的工具生成驱动!
我现在不用外接的USB芯片。。是用STM32F10X的自身芯片。。
RE:STM32F系列用USB通讯
:o还是没弄明白PC机要不要驱动程序,要的话怎么写?像PDIUSBD12安装个驱动就能认了,STM32呢????
页:
[1]