
STM32F103 学的时间也不长,主要是看参考别人的例程,然后再改动,慢慢消化。 这个是也是如此,只是自己做过后印象更深刻。 , x o3 l$ d/ K; o5 i 1. KEIL的DEMO,包括一个pc端演示软件,可以实现在PC端控制KEIL开发板上的LED显示,同时采集开发板上的按键。而按键也只有两个,只供PC端程序读写,不是标准的USB键盘协议。所以,改造是必不可少的。8 j0 l7 _! W) r" S# ?, Q2 }9 r 2. 改造主要工作两部分:, ~7 P% `; R6 I+ Z; s9 z7 y4 C0 s, { a. 按键采集部分。在demo.c中,主程序停在while(1)循环就完了,可以利用一下。在这里,加入scan_key()函数,自己实现scan_key,读取按键,转换成键码,保存在变量中。- g5 ~( c1 M' R b. USB协议的改造。此部分最关键。见附件。 其中string descriptor可以自己随意修改。 Z9 E: s, N" p# o Q4 K- \2 I. w 3。 修改所有USB_WriteEP(0x81, &InReport, sizeof(InReport)); 将此句改为:USB_WriteEP(0x81, nInReport,8);. ]6 O5 T4 y! j6 D 其中nInReport定义为: BYTE nInReport[8];6 D- R) t0 Q0 Z% ` - t3 N( G8 B; g& N6 ] 4. 修改hiduser.c中函数如下: BOOL HID_GetReport (void) { /* ReportID = SetupPacket.wValue.WB.L; *// _% {- t' H7 ^2 b: k$ F1 T$ t switch (SetupPacket.wValue.WB.H) {6 Q9 k. q% U2 x8 C case HID_REPORT_INPUT: GetInReport();, u( r$ g4 C9 H; U1 ]6 ?: F // EP0Buf[0] = &nInReport; memcpy(EP0Buf,nInReport,8);6 e+ I" H4 z( J8 H break; case HID_REPORT_OUTPUT:9 G2 g( W3 K7 z( T return (FALSE); /* Not Supported */, P) x" ]$ y* d0 A6 {4 o case HID_REPORT_FEATURE:, T1 K& m, Q0 s) T# M7 M /* EP0Buf[] = ...; */# n0 |% v. a: Y p /* break; *// P4 W4 G5 D+ H8 B0 i4 S return (FALSE); /* Not Supported */7 s0 w; z$ ?. R& Y8 c0 y, [0 f }0 w+ n: g) T2 Z: v return (TRUE); }% V- _* @+ z7 l6 c ) F6 R; K9 G, Y# e; z4 }* P- ~ 5. 修改usbcore.c中 将 if (SetupPacket.wIndex.WB.L == USB_HID_IF_NUM) 此句改为if(1),取消此判断 @2 s3 B; D" U. f# b6 l5 s+ q , h/ F! h2 n6 k) t d( ? 改动完成,即可将USB插到PC上,可以看到虚拟的健盘了。 回复的送8个开发板的光盘资料,请把邮箱留下来,共8G资料。& [4 ~6 [- e9 |& g+ c$ | 红牛,战舰,安富莱,旺斯特,启航,神舟1号,正点原子,DX32 。都是STM32F103 开发板的光盘资料。附件太大传不上来,只能发邮箱,要的话请留邮箱 |
usbdesc.c.txt
下载7.29 KB, 下载次数: 32
最全USB HID开发资料,悉心整理一个月,亲自测试
实战经验 | 选择USBX模块生成USB CDC ACM无PD的项目
STM32 USB HID键盘例程
刘氓兔的杂谈【001】-片上USB 高速PHY
【经验分享】在进行 USB CDC 类开发时,无法发送 64整数倍的数据
【源码】STLINK-V3MINI 高速USB仿真器,成功改刷【高速CMSIS-DAP】
在线直播|无需编写任何代码即可在STM32上实现USB-C Power Delivery
STM32 USB CDC 虚拟多串口
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
USB Audio设计与实现
RE:MCU实战经验+用STM32实现USB虚拟健盘
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个开发板的光盘的资料
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个开发板的光盘的资料
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个开发板的光盘的资料
回复:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个开发板的光盘的资料
楼主传我一份资料吧!cjq_enjoy@126.com,谢谢7 z( F4 P% N$ B
楼上两位,资料已发到你们的邮箱里了,请在28天之内下载完,呵呵
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
回复:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
同时麻烦将资料发到我邮箱,谢谢!4 P" C/ w+ X' U2 L0 i' o
QQ 1257878961@QQ.COM
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
。
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料