你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F系列用USB通讯

[复制链接]
asdy00000 提问时间:2010-9-12 15:57 /
        本人想用STM32F系列的芯片自带的USB模块功能去和计算机实行收发数据,不用嵌系统的形式,该如何进行编程?驱动的问题又怎么解决?STM32 USB HID和STM32 USB CDC这两种形式,我应该使用哪种?如果使用了STM32 USB HID这种,是不是我就不用装驱动了,xp系统就能自动发现USB了,然后直接用上位机的软件和芯片通讯就行?
       求助高手,给小弟一个大概的思路,怎么能实现STM32的USB和上位机进行通讯?我需要从哪学起?
收藏 评论9 发布时间:2010-9-12 15:57

举报

9个回答
废鱼 回答时间:2010-9-13 08:39:38

RE:STM32F系列用USB通讯

不安装驱动是不可以的,因为这个是USB的特性。他不像串口,可以直接使用。建议程序参考例程中的USB转串口的例程。按他这个方式做就可以。
templeton 回答时间:2010-9-14 09:23:07

回复:STM32F系列用USB通讯

windonw自带USB HID和CDC的驱动,就不用自己考虑驱动的问题了。
zysyw0 回答时间:2010-9-14 10:23:00

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固件程序开发。
asdy00000 回答时间:2010-10-19 10:57:30

回复:STM32F系列用USB通讯

回复第 3 楼 templeton于2010-09-14 01:23:07发表:
windonw自带USB HID和CDC的驱动,就不用自己考虑驱动的问题了。
 

我只是想用STM32F10x的芯片发一个数据(例如:A或者1什么的),然后上位机用编的程序(或者USB调试工具)能收到就行,我该什么做?
asdy00000 回答时间:2010-10-19 10:58:59

回复:STM32F系列用USB通讯

回复第 2 楼 安 于2010-09-13 00:39:38发表:
不安装驱动是不可以的,因为这个是USB的特性。他不像串口,可以直接使用。建议程序参考例程中的USB转串口的例程。按他这个方式做就可以。 

我看网上有很多人说不用开发驱动的,只要把hid的配置写清楚,PC机会自动发现的,我只是想用STM32F10x的芯片发一个数据(例如:A或者1什么的),然后上位机用编的程序(或者USB调试工具)能收到就行,我该什么做?
asdy00000 回答时间:2010-10-19 11:00:52

回复:STM32F系列用USB通讯

回复第 4 楼 zysyw0于2010-09-14 02:23:00发表:
 
谢谢你的精彩讲述,说的太复杂了,我有点迷茫了,我只是想用STM32F10x的芯片发一个数据(例如:A或者1什么的),然后上位机用编的程序(或者USB调试工具)能收到就行,我该什么做?
我该用什么情况的通讯?好像有OTG,HID。。。。等等。。
wqp1111 回答时间:2011-2-17 11:11:43

RE:STM32F系列用USB通讯

我以前用过cycess公司的68013芯片,其实USB还是并不是想象的那么复杂,只要理清概念,还是容易上手的!与PC相连,驱动肯定是要写的,但是有专用的工具生成驱动!
asdy00000 回答时间:2011-5-3 14:24:49

回复:STM32F系列用USB通讯

回复第 8 楼 wqp1111于2011-02-17 03:11:43发表:
我以前用过cycess公司的68013芯片,其实USB还是并不是想象的那么复杂,只要理清概念,还是容易上手的!与PC相连,驱动肯定是要写的,但是有专用的工具生成驱动!
 
 
 
我现在不用外接的USB芯片。。是用STM32F10X的自身芯片。。
 
迷途-338195 回答时间:2012-1-10 09:15:29

RE:STM32F系列用USB通讯


还是没弄明白PC机要不要驱动程序,要的话怎么写?像PDIUSBD12  安装个驱动就能认了,STM32呢????
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版