
STM32F103 学的时间也不长,主要是看参考别人的例程,然后再改动,慢慢消化。5 C! U: w& T& E/ L 这个是也是如此,只是自己做过后印象更深刻。 1. KEIL的DEMO,包括一个pc端演示软件,可以实现在PC端控制KEIL开发板上的LED显示,同时采集开发板上的按键。而按键也只有两个,只供PC端程序读写,不是标准的USB键盘协议。所以,改造是必不可少的。1 ^7 O& W* c3 X3 d+ t0 j6 m 2. 改造主要工作两部分:3 q! Y, X* a5 Y! K a. 按键采集部分。在demo.c中,主程序停在while(1)循环就完了,可以利用一下。在这里,加入scan_key()函数,自己实现scan_key,读取按键,转换成键码,保存在变量中。 b. USB协议的改造。此部分最关键。见附件。# _0 m) p, B9 }. \* i$ P ( b* w! q, n% Q3 ] x! K7 f 其中string descriptor可以自己随意修改。 F& N, w% y/ h' F- D: O {! @ 3。 修改所有USB_WriteEP(0x81, &InReport, sizeof(InReport));+ i; F& ^0 V' _, _% w( I 将此句改为:USB_WriteEP(0x81, nInReport,8);0 C% }- X$ C8 |/ v \ 其中nInReport定义为:0 l" U9 v; h' h9 _" P BYTE nInReport[8]; 4. 修改hiduser.c中函数如下: BOOL HID_GetReport (void) { . R N9 x. j1 m5 [0 e1 h /* ReportID = SetupPacket.wValue.WB.L; */ switch (SetupPacket.wValue.WB.H) {. x2 b4 I% B' D3 A- Z) s' J case HID_REPORT_INPUT:9 @8 h# E: D" _; m GetInReport(); // EP0Buf[0] = &nInReport; memcpy(EP0Buf,nInReport,8); break; _" V/ B# [0 e! x A) ]5 z# Y case HID_REPORT_OUTPUT:: C3 [" n5 ?8 L# s4 g5 P return (FALSE); /* Not Supported */- N* X% V. n$ J+ F case HID_REPORT_FEATURE:+ n$ [% G* M* L* B$ _8 g$ S, r /* EP0Buf[] = ...; */ /* break; */ return (FALSE); /* Not Supported */ k% e. j$ ]+ w8 Y) Y } return (TRUE); } & P# ` s( i( l. o 5. 修改usbcore.c中5 R. Y5 D5 A: U8 s 将 if (SetupPacket.wIndex.WB.L == USB_HID_IF_NUM) 此句改为if(1),取消此判断5 k# |+ p/ Z* n( _7 I6 Z. P ! f! D1 H0 i2 G0 c& j, s- b1 I ' \1 E6 O$ K6 t0 } y( K2 d 改动完成,即可将USB插到PC上,可以看到虚拟的健盘了。% e8 H$ { z3 |/ |/ Q5 X. ^4 A* G! z, N 回复的送8个开发板的光盘资料,请把邮箱留下来,共8G资料。 红牛,战舰,安富莱,旺斯特,启航,神舟1号,正点原子,DX32 。都是STM32F103 开发板的光盘资料。附件太大传不上来,只能发邮箱,要的话请留邮箱# j. C3 u6 |6 J3 _ |
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,谢谢. U/ j+ l8 X1 l+ h- p4 c+ w2 d
楼上两位,资料已发到你们的邮箱里了,请在28天之内下载完,呵呵1 }- ?" P3 d0 l( I. X8 y; q
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
回复:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
同时麻烦将资料发到我邮箱,谢谢!& i- k9 i8 Z- c) B: T0 {
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开发板的光盘的资料