STM32F103 学的时间也不长,主要是看参考别人的例程,然后再改动,慢慢消化。( r/ @# B9 k9 |. o6 u" D 这个是也是如此,只是自己做过后印象更深刻。8 \& E6 ^; S% z4 a$ Z) ^, g# y/ x 1. KEIL的DEMO,包括一个pc端演示软件,可以实现在PC端控制KEIL开发板上的LED显示,同时采集开发板上的按键。而按键也只有两个,只供PC端程序读写,不是标准的USB键盘协议。所以,改造是必不可少的。 2. 改造主要工作两部分: a. 按键采集部分。在demo.c中,主程序停在while(1)循环就完了,可以利用一下。在这里,加入scan_key()函数,自己实现scan_key,读取按键,转换成键码,保存在变量中。 b. USB协议的改造。此部分最关键。见附件。 9 N1 X' _$ _2 u) f8 Y, j 其中string descriptor可以自己随意修改。5 O1 A& Z1 l% h* N' I 3。 修改所有USB_WriteEP(0x81, &InReport, sizeof(InReport)); 将此句改为:USB_WriteEP(0x81, nInReport,8); 其中nInReport定义为: BYTE nInReport[8]; 4. 修改hiduser.c中函数如下:9 H7 l' l2 ~% g BOOL HID_GetReport (void) {3 `0 a4 y( K+ ], T3 |( X" y /* ReportID = SetupPacket.wValue.WB.L; */ switch (SetupPacket.wValue.WB.H) {, }6 E T7 k5 O. a2 {0 \( L2 d case HID_REPORT_INPUT:) ^# }- ? m& J' I GetInReport(); // EP0Buf[0] = &nInReport; memcpy(EP0Buf,nInReport,8); break; case HID_REPORT_OUTPUT:- j- G9 V6 P: x+ g2 X return (FALSE); /* Not Supported */ case HID_REPORT_FEATURE: /* EP0Buf[] = ...; */* G4 c3 X r- u9 V /* break; */! g, I7 y+ m' L' X return (FALSE); /* Not Supported */ }) r/ w' D0 I+ T5 v3 H- I& q return (TRUE);' p! [8 X% {7 V, H4 Z }2 j& E6 q, M/ D5 V. B. o; p 5 ]* e+ d" O& n5 D# }! c 5. 修改usbcore.c中# T5 P; D2 f7 R8 D9 z% F/ J 将 if (SetupPacket.wIndex.WB.L == USB_HID_IF_NUM) 此句改为if(1),取消此判断4 y) w/ A+ Y5 J# V 改动完成,即可将USB插到PC上,可以看到虚拟的健盘了。 回复的送8个开发板的光盘资料,请把邮箱留下来,共8G资料。 红牛,战舰,安富莱,旺斯特,启航,神舟1号,正点原子,DX32 。都是STM32F103 开发板的光盘资料。附件太大传不上来,只能发邮箱,要的话请留邮箱6 j) g8 {+ w- w6 ` |
usbdesc.c.txt
下载7.29 KB, 下载次数: 32
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
最全USB HID开发资料,悉心整理一个月,亲自测试
USB Audio设计与实现
【MCU实战经验】+STM32F107的USB使用
STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换
STM32 USB-HID通信移植步骤STM32 USB HID键盘例程
【经验分享】在进行 USB CDC 类开发时,无法发送 64整数倍的数据
如何让CDC类USB设备批量接收64字节以上数据
用STM32F4实现的USB摄像头UVC,配合上位机可识别车牌
STM32 USB CDC 虚拟多串口
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,谢谢9 T; F, w5 p/ z. ~5 j( h
楼上两位,资料已发到你们的邮箱里了,请在28天之内下载完,呵呵
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
回复:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
RE:MCU实战经验+用STM32实现USB虚拟健盘,回复的送8个STM32开发板的光盘的资料
同时麻烦将资料发到我邮箱,谢谢!- t$ c7 U' _+ ]3 N3 ^
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开发板的光盘的资料