搜索
bottom↓
回复: 131

【原创,OURDEV首发】USB不是洪水猛兽,剑在你手,勇敢的砍下去!

[复制链接]

出0入4汤圆

发表于 2011-6-24 16:08:34 | 显示全部楼层 |阅读模式
很多USB初学者,在面对USB的时候,总是对USB感到很恐惧,就如同洪水猛兽一般。
而一些USB入门者,面对USB的进阶使用,有时候也是心存“怕怕”。
当然,USB在调试的时候,“蓝屏”是家常便饭的事了,特别是自定义类型的USB,更是“蓝屏”天天有,今天特别多。
其实,只要你加点耐心,加点用心,剑就在你手,何惧USB不服。

首先,你得建立一个USB的调试环境。当然,你至少得懂些单片机C语言,和上位机C语言。

1)最好的电脑环境,是用两部电脑,其中一部用於写代码,另一部用於调试。
   如果没有两部电脑,则建议你装个虚拟机。VMware就是非常不错的虚拟机之一。
   我也经常用VMware来调试USB。

2)如果你是硬件设计者,那下位机程序也是必要的了。
   以 STM32 和 IAR 为例。初学者建议用ST自带的 StdLib和 UsbLib,这样能减少因硬件代码引起的不必要的麻烦。
   进阶者建议重写UsbLib,这样能更优化固件程序(说实在的,ST的库并不咋滴)。
   建议用IAR EWARM 5.5.x 不建议用 6.x(目前还不算成熟)。

3)如果你是驱动程序设计者,那估计你对上下位机的程序也有所了解了。
   我建议的驱动开发环境是 DriverStudio 3.2 + WinDDK 7.x 。
   因为 DriverStudio 能加快不少开发速度,而且性能并不比纯DDK的差很多。
   以少许性能换取开发速度,见仁见智,大家各取所好了。

4)如果你是上位机设计者,那可选的开发程序就多了。
   有C++,C#,Delphi,VB,等等,很多。
   我的建议是C# 或 Delphi,因为这两者都是快速开发的利器。
   如果你的程序的稳定性很重要,则C++是不二的选择,但相应开发时间也长了一些。


5)调试方面,如果有USB分析仪,那就最好不过了,不过,USB分析仪通常都比较贵。
   比如我的那个 Beagle USB12 就花了我4K多,而且还得通过香港渠道进来。
   没有硬件,咱还有软的呢,比如USB Bounds就是很好的软分析。
   USBHimem更加不错,有更多的信息反馈给开发者,但这软件跟电脑的某些硬件可能有点不兼容,要注意一下。


6)硬件方面,建议你用一个比较成熟的开发板,比如市面上的什么公牛板,母牛板,啥啥板啊,
   毕竟我们不需要从车轮开始做起,我们的目的是学习USB,而不是制作开发板。
   当然,如果你是硬件高手,俺也不反对你自己蚀刻一块USB学习板。

环境搭好了之后,就要开始了。如果开发板上有自带的USB程序,那就先跑一下,其目的仅仅是为了验证一下
USB硬件方面有没有问题而已。

欲知后事如何,请待下回分解。。。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2011-6-24 16:16:25 | 显示全部楼层
期待下集

出0入0汤圆

发表于 2011-6-24 16:18:34 | 显示全部楼层
期待下文,前一阵研究了一段又放弃了,希望从楼主的文章中得到更多的启示

出0入0汤圆

发表于 2011-6-24 16:18:56 | 显示全部楼层
村长 的帖子要顶

出0入0汤圆

发表于 2011-6-24 16:20:29 | 显示全部楼层
周工的据说有个  USB分析仪  可以看到通信的命令的 不是很贵

出0入0汤圆

发表于 2011-6-24 16:40:42 | 显示全部楼层
坐等下集

出0入0汤圆

发表于 2011-6-24 16:44:34 | 显示全部楼层
坐等下集。。

出0入0汤圆

发表于 2011-6-24 16:49:23 | 显示全部楼层
坐等下集。。

出0入0汤圆

发表于 2011-6-24 16:53:33 | 显示全部楼层
果断mark,手头有68013的板子,进来听课

出0入0汤圆

发表于 2011-6-24 17:04:17 | 显示全部楼层
mark
头像被屏蔽

出0入0汤圆

发表于 2011-6-24 17:06:38 | 显示全部楼层
COOL !

出0入0汤圆

发表于 2011-6-24 17:18:58 | 显示全部楼层
导师啊

不知每天几集,黄金时段两集联播最棒了。

出0入0汤圆

发表于 2011-6-24 17:27:40 | 显示全部楼层
听课

出0入0汤圆

发表于 2011-6-24 17:39:52 | 显示全部楼层
记好!

出0入0汤圆

发表于 2011-6-24 17:45:31 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-6-24 17:57:37 | 显示全部楼层
期待下回分解

出0入0汤圆

发表于 2011-6-24 18:14:31 | 显示全部楼层
前排占座

出0入0汤圆

发表于 2011-6-24 18:50:29 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-6-24 19:02:33 | 显示全部楼层
占座学习~~~~

出0入0汤圆

发表于 2011-6-24 19:23:00 | 显示全部楼层
果断占座

出0入0汤圆

发表于 2011-6-24 20:02:09 | 显示全部楼层
果断马克,正好最近在琢磨USB,听村长讲课啦。

出0入0汤圆

发表于 2011-6-24 20:11:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-24 20:18:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-24 20:22:32 | 显示全部楼层
学习大神

出0入0汤圆

发表于 2011-6-24 20:23:41 | 显示全部楼层
果断留名~~

出0入0汤圆

发表于 2011-6-24 20:29:08 | 显示全部楼层
OK

出0入0汤圆

发表于 2011-6-24 20:36:24 | 显示全部楼层
听村长大侠讲课了

出0入0汤圆

发表于 2011-6-24 20:49:09 | 显示全部楼层
mark,谢谢村长。

出0入0汤圆

发表于 2011-6-24 20:57:51 | 显示全部楼层
村长又有大动作了,学习......

出0入0汤圆

发表于 2011-6-24 21:03:26 | 显示全部楼层
最近在学LABVIEW想和下面的通信,MARK

出0入0汤圆

发表于 2011-6-24 21:26:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-24 22:11:09 | 显示全部楼层
COOL,楼主继续砍啊...

出0入0汤圆

发表于 2011-6-24 22:21:09 | 显示全部楼层
值得顶

出0入0汤圆

发表于 2011-6-24 22:23:53 | 显示全部楼层
果断占座

出0入0汤圆

发表于 2011-6-24 22:24:09 | 显示全部楼层
村长的帖子要顶!

出0入0汤圆

发表于 2011-6-24 22:53:46 | 显示全部楼层
等村长继续!

出0入0汤圆

发表于 2011-6-24 23:19:59 | 显示全部楼层
占位学习!

出0入0汤圆

发表于 2011-6-24 23:22:02 | 显示全部楼层
先过来占个位。

出0入0汤圆

发表于 2011-6-24 23:40:33 | 显示全部楼层
很有帮助 谢谢

出0入0汤圆

发表于 2011-6-25 00:37:02 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-6-25 00:43:55 | 显示全部楼层
搬个小板凳,开课了。。

出0入0汤圆

发表于 2011-6-25 00:48:45 | 显示全部楼层
如果搞USB HID,相对还是比较简单的。

出0入0汤圆

发表于 2011-6-25 01:00:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-25 01:02:20 | 显示全部楼层
村长的条理清楚,学习。

还有村长的工作室令人羡慕。呵呵。

出0入0汤圆

发表于 2011-6-25 01:12:40 | 显示全部楼层
听课

出0入0汤圆

发表于 2011-6-25 01:14:47 | 显示全部楼层
占位听课!

出110入109汤圆

发表于 2011-6-25 01:19:39 | 显示全部楼层
搬小板凳,听村长开讲啊~

出0入0汤圆

发表于 2011-6-25 01:30:48 | 显示全部楼层
我对USB开发的一点认识:
上位机用libusb开发不是更方便,不需要自己写驱动,可以实现自定义类,自己开发驱动还得学好多windows东西。
或者直接用CDC类、HID类等其他类(已经覆盖大多数应用了),免驱(编写inf文件)。
USBTrace可以追踪USB通信。

出0入0汤圆

发表于 2011-6-25 01:39:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-25 06:57:23 | 显示全部楼层
驱动的话,不太建议再用Driver Studio了,已经很久不更新了,原因是新的Windows驱动架构WDK实际上作了类似的封装了,新的建议就用WDK的模型,不再用WDM了

出0入0汤圆

发表于 2011-6-25 07:18:29 | 显示全部楼层
absolutely mark

出0入0汤圆

发表于 2011-6-25 08:18:23 | 显示全部楼层
USB不是洪水猛兽,剑在你手,勇敢的砍下去!
这标题太有气势了。

出0入0汤圆

发表于 2011-6-25 10:00:15 | 显示全部楼层
USB 学习

出0入0汤圆

发表于 2011-6-25 12:34:51 | 显示全部楼层
大侠,快指明方向,我好砍啊!

出0入0汤圆

发表于 2011-6-25 12:41:45 | 显示全部楼层
听课

出0入0汤圆

发表于 2011-6-25 14:04:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-25 14:08:37 | 显示全部楼层
期待!!

出0入0汤圆

发表于 2011-6-25 20:29:55 | 显示全部楼层
清晰的思路

出0入0汤圆

发表于 2011-6-27 11:09:18 | 显示全部楼层
顶,村长这标题就是说我啊,准备学usb快半年了,万事俱备,只欠自己的决心和毅力

出0入0汤圆

发表于 2011-6-27 11:37:02 | 显示全部楼层
搬个小板凳,听村长讲课啦。

出0入25汤圆

发表于 2011-6-27 12:48:48 | 显示全部楼层
nark!

出0入0汤圆

发表于 2011-6-27 13:02:56 | 显示全部楼层
期待下集!

出0入0汤圆

发表于 2011-6-27 13:12:17 | 显示全部楼层
期待下集~

出0入0汤圆

发表于 2011-6-27 13:55:21 | 显示全部楼层
占座,期待楼主多讲些上位机驱动!

出0入0汤圆

发表于 2011-6-27 14:00:10 | 显示全部楼层
期待下集精彩内容,希望LZ以后弄个下集预告就更好了!

出0入0汤圆

发表于 2011-7-2 00:41:52 | 显示全部楼层
喜欢delphi^_^

出0入0汤圆

发表于 2011-7-2 02:49:32 | 显示全部楼层
等第2集

出0入0汤圆

发表于 2011-7-2 09:23:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-2 09:31:40 | 显示全部楼层
期待

出0入0汤圆

发表于 2011-7-2 09:35:15 | 显示全部楼层
坐等村长讲课…

出0入0汤圆

发表于 2011-7-2 09:43:34 | 显示全部楼层
其实我想知道 STM32,用系统自带的库,能不能实现像 CH372 那种傻瓜式的 快速 端口数据收发

如果还要自己搞底层的驱动开发,那太麻烦了, 买芯片回来就是为了快速应用,还DriverStudio? 那不是浮云?!


因为用STM32 的USB就是为了快速传输大量的数据, HID的速度跟不上, 不用虚拟串口,直接就当一个USB接口芯片用,可以吗?


只要ST 把驱动做好,有像CH372那样的 端点0,端点1,端点2,开放出来操作,而且是全速的(800K bytes/s 以上)

那数据格式怎样定,就是自己的事了, 无论进行什么应用都没有问题了

出0入0汤圆

发表于 2011-7-2 09:48:08 | 显示全部楼层
好帖,期待

出0入0汤圆

发表于 2011-7-2 10:00:08 | 显示全部楼层
搬条板凳  过来听课

出0入0汤圆

发表于 2011-7-2 10:03:37 | 显示全部楼层
静听村长讲课。

出0入0汤圆

发表于 2011-7-4 15:41:08 | 显示全部楼层
不要太监啊。

出0入0汤圆

发表于 2011-7-16 14:51:07 | 显示全部楼层
希望更详细些,期待下集

出0入0汤圆

发表于 2011-7-17 08:58:34 | 显示全部楼层
marked

出0入0汤圆

发表于 2011-9-14 20:42:34 | 显示全部楼层
顶下,最近有块带USB的M0板子,正不知道怎么学USB呢

出0入0汤圆

发表于 2011-9-15 11:02:10 | 显示全部楼层
村长挖坑了

出0入0汤圆

发表于 2011-9-15 11:24:02 | 显示全部楼层
tingke

出0入0汤圆

发表于 2011-9-15 12:38:02 | 显示全部楼层
村长,您的“下回”咧?

出0入0汤圆

发表于 2011-9-15 13:07:41 | 显示全部楼层
虎头蛇尾的样子呢

出0入0汤圆

发表于 2011-9-15 13:46:27 | 显示全部楼层
美丽,敬请期待。。。。

出0入0汤圆

发表于 2011-9-15 14:06:16 | 显示全部楼层
谢谢楼主分享!!!

出0入0汤圆

发表于 2011-9-15 21:48:25 | 显示全部楼层
收藏。。。。

出0入0汤圆

发表于 2011-9-15 21:49:59 | 显示全部楼层
哇,坐而受教也。

出0入0汤圆

发表于 2011-9-15 22:38:31 | 显示全部楼层
好文章,先见森林再见树木

出0入0汤圆

发表于 2011-9-15 23:42:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-16 00:37:25 | 显示全部楼层
回复【93楼】Errrrrrrrr
mark

-----------------------------------------------------------------------

出0入0汤圆

发表于 2011-9-17 22:42:51 | 显示全部楼层
等呀等,等得我好心急

出0入0汤圆

发表于 2011-9-17 22:49:54 | 显示全部楼层
回复【74楼】scofiled  
-----------------------------------------------------------------------

stm32的usb官方说的就是只支持全速  就是12Mb/s   你要是把那个库搞懂了之后应用起来还是比较简单的  因为那个usb库把枚举这些步骤都做完了,具体可以看自带的几个例子   自己应用的时候基本就是配置端点
唯一的缺点就是没有官方的驱动,驱动只有自己写,不过用driver studio来讲应该还是相当容易的  网上也有很多教程  如“基于stm32的Usb开发笔记”

出0入0汤圆

发表于 2011-9-18 01:11:49 | 显示全部楼层
回复【楼主位】aleyn 煮茶村长
-----------------------------------------------------------------------

期待

出0入0汤圆

发表于 2011-9-18 21:00:55 | 显示全部楼层
排除等候,村长

出0入0汤圆

发表于 2011-9-28 11:43:48 | 显示全部楼层
等。。。。。

出0入0汤圆

发表于 2011-10-12 20:38:37 | 显示全部楼层
等待LZ大作

出0入0汤圆

发表于 2011-10-17 13:38:41 | 显示全部楼层
期待下集

出0入0汤圆

发表于 2011-11-9 21:00:02 | 显示全部楼层
关注村长

出0入0汤圆

发表于 2011-11-18 16:11:01 | 显示全部楼层
楼主木有小jj

出0入0汤圆

发表于 2011-11-23 16:23:43 | 显示全部楼层
USB不是洪水猛兽,剑在你手,勇敢的砍下去!

出0入0汤圆

发表于 2011-11-23 17:00:04 | 显示全部楼层
下集何在?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-14 03:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表