ASM 板


LINE

看板 ASM  RSS
USB HID EP0理论上可以每 1ms传送 64B (B for Byte, b for bit) 等於是 64KBps, 用 UART来传需要 640,000bps才作得到, 这个是 full speed device就有的,现在有提供 USB interface 的 MCU几乎都有做到 full speed. 我实作了一个,测出 58KBps,很可能是受到 CPU忙碌程度的影响? 也许是软体效率不够高? 为什麽不用 UART? 因为 COM Port 需要安装 driver,而 HID 几乎 所有的 OS都不用安装 driver, 起码主流的那几个都不需要。 如果你作的系统经常会拿到新电脑上使用,用这招比随身带着 FT232R driver package方便多了 :) 所以我实作的东西,报给 OS的是 HID Keyboard, 但实际上是一个 MCU + ADC for sensors. 既然没有keyboard的部分,所以回报 keyboard 的 firmware code都不用写了。 比较麻烦的是软体的部分,COM Port的应用程式在这边相对简单, 就是百年不变的写法,但 HID会需要一些很底层的 API, 如果不想 锻链那样深的功力,可以直接使用网路上的资源,最有名的是 libusb。 还有很多个人分享的 DLL可以使用。 其实写一次就知道了,几乎各家 DLL的程序都差不多,首先要找到 device, 比对 PID, VID, 确认你要的 device, 执行 endpoint0 上的 SetFeature, GetFeature。前者是传资料给 device, 後者是传资料给host (PC) firmware上实作Set Feature, Get Feature, 才能跟software配合上。 以上做完後,你就可以用 USB标准协定传资料了。 补充一下,这样做其实开发阶段很不方便,一旦你用 break point停止 MCU 工作,理论上不会回应 USB了,所以 Host可能直接把装置断线,resume MCU後 又要重来一次 USB enumeration... 所以开发时候把 UART拉出来,走 USB + UART + JTAG 三重路线也不错啦 orz --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.221.214
1F:推 wuonline:推! 07/10 22:37
2F:推 ksmrt0123:推推! 07/11 00:39
3F:推 deo2000:推!对复杂的USB又多点认识,不过最後四行完全不懂 07/11 00:40
4F:推 ruemann:最後面是说,DEBUG时,有可能会设定断点,一旦进入断点 07/11 12:49
5F:→ ruemann:OS会认为USB已经离线了,如果你要继续使用USB的话,要重新 07/11 12:50
6F:→ ruemann:从头跑一次 07/11 12:50
7F:推 ksmrt0123:64B/1mS应该是interrupt transfer的限制, control 07/12 01:26
8F:→ ksmrt0123:transfer应该可更快. 要再快就要用 bulk 因为 device 07/12 01:27
9F:→ ksmrt0123:端通常bulk有double buffering 07/12 01:28
10F:→ ksmrt0123:请问为何用 set feature, clear feature(?) 来实作想要 07/12 01:29
11F:→ ksmrt0123:的功能? 怎不自己定义vendor command就好? 还是HID不允 07/12 01:30
12F:→ ksmrt0123:许自订vendor command? (抱歉我对HID不熟) 07/12 01:31
13F:推 ksmrt0123:hmm.... 我看到MS HIDClass Support Routines列表了... 07/12 01:48
14F:→ ksmrt0123:上面的问题当我没问... 抱歉 07/12 01:48
15F:→ govert:其实不用另外Driver的常用方式就是3种. HID, MassStorage, 07/12 23:21
16F:→ govert:跟Printer class. 都大同小异. 用习惯就好。 07/12 23:22
17F:→ govert:不过data量要大的话,的确用bulk比较好,data可以到65535 07/12 23:23







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP