|
本帖最后由 anny 于 2017-4-13 15:04 编辑 & }, i; R8 n! Y B' F 一直懒得去看USB的资料,却又对USB相当好奇,今天就拿块板子做一下USB HID的实验。板子的芯片是STM32F103RCT6 ,使用STM32CUbeMX配置相当简单: 1、配置时钟、USB选项及管脚功能,有二个LED和二个按键/ g9 I. p) x, F
. g5 @8 H: w2 _8 w( g. y0 Q+ n% u3 S6 h4 n 2、选择USB功能为HID
3、配置时钟9 W6 ?$ u$ d3 l H; F% ^, G
4、配置IO口功能" V1 [- D1 E' g& _- J9 D
+ ]: y/ E8 y, Y1 Y 这样就完成了配置,再生成工程,整个过程不到1分钟。" }5 Z: f: |9 P: b1 H 当然还要在工程里面添加必要的应用程序:; Q9 p) Q0 C4 G% q1 d 1、在usbd_custom_hid_if.c文件里面的__ALIGN_BEGIN static uint8_t CUSTOM_HID_ReportDesc_FS数组里面添加如下内容:( |4 x, q' I! E+ x
2、在usbd_custom_hid_if.c文件里面的int8_t CUSTOM_HID_OutEvent_FS添加如下程序:
3、在main函数里面添加如下内容:) o# X5 T) o& d8 L5 a+ a
这样可能有点不明不白,可以参考附件的PDF教程及工程文件,接下来看看效果: 上位机软件:4 E. M& E5 K+ I: q
1、连接图:
V& m9 [2 X( [+ M 2、上位机控制板子上的LED:
9 Z3 m/ @3 f( n$ K 3、按键信号反馈给上位机:
附件:6 `. `+ ~4 g; z8 X% p1 h x/ f4 n
MiniSTM32_HID.zip
(12.15 MB, 下载次数: 6447)
|
| 参与人数 6 | ST金币 +8 | 收起 理由 |
|---|---|---|
|
|
-1 | 很给力! |
|
|
-1 | 感谢分享 |
|
|
-1 | 很给力! |
|
|
-1 | |
|
|
+ 10 | 很给力! |
|
|
+ 2 |
STM32L562DK探索板——串口通讯测试成功
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
NUCLEO-H723ZG开发板试用 ——串口点灯测试
MultiButton移植到STM32F103战舰开发板
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
S2LP 的 sniff 模式如何同时满足通讯和低功耗要求
双证齐发!移远通信通过ISO 26262功能安全流程认证及产品认证
意法半导体 STHV200超声波 IC单片简化设计
了解NFC技术优势与应用场景
微信公众号
手机版
你可以看看这个
% A/ R, n W6 z$ p+ C
../Src/usbd_custom_hid_if.c(48): error: #146: too many initializer values 直接复制过来的不知道错在哪?
: Y9 V4 Y! |8 @# H Y- T5 `
请教下,我用的是STM32F407VETx,也用一样的开发环境及工具,照上面的步骤生成了工程,连接电脑运行后,在设备管理器中提示“unknown device”。0 N8 V% _- V( b4 ]5 |0 R# N
能指点下不?9 c; x; n7 ^' t3 c3 p
查一下是不是分频不对
8 Y* A5 s# p: W4 R$ F
éé¢å¥½å没æUSBæ¶éçé ç½®
用函数显示出来看看,类似标准库的RCC_GetClocksFreq(&RCC_Clocks);//用于查看单片机运行频率
不错,感谢,& V2 \4 M. C9 n: v
对于报告描述符还是有不明白,
好的,谢谢!!!$ V F+ |! S; G. i( S
我的现在连上去都是发现为低速设备5 X4 f1 ~% s! ~8 ^& U
40h Should be 8 bytes for low-speed devices --提示这一个,所以不正常
我现在仅是使用DP 也就是D+ 上拉1.5K 到3.3V。
缩短一些接到电脑上就可以了。