USB_HID C#测试例程

USB_HID C#测试例程 

报告模式(按键、LED、ADC)

一、简介

Usb无处不在,而hid则免驱,使用更加方便,本方案主要是基于STM32F10X系列单片机的usb hid开发,计算机软件采用VS2013 C#开发。

二、接线图示意

 

三、开发测试环境

兼容系统:XP、WIN7

测试系统:WIN7 64bit(已验证)

开发工具:MDK 5.11

MCU型号:STM32F103CBT6(3.5版本固件库)

测试软件:HidConnerCs.exe(基于C#的USBHID工具)

测试硬件:STM32-48(SWD) stm32核心板

测试固件:Custom_HID STM32_48(swd)_NOADC.hex

四、测试方式:

板卡usb供电,上电后所有灯点亮后熄灭,然后D2灯闪烁。

使用mini-usb数据线链接电脑、通过上位机软件可以控制LED和获取按键的状态和adc值

硬件展示:

 

仅此核心板就可以测试该功能,程序通过swd,4线下载。

硬件对应作用:

LED2(每秒闪烁,指示程序运行正常)

LED5(LED1)

LED4(LED2)

LED3(LED3)

ADC:PA0输入,进度条展示adc值

KEY:PC13,S2中间按钮

调试注意事项:

1、usb无法识别:电源纹波太大,或滤波电容过小,增加滤波电容值即可解决

 

软件使用:

上位机编译注意事项

 

之前在win7 64bit下访问出错,修改这个就好了,xp下曾经测试是ok的

 

软件使用:使用索引可以列出所有的hid设备,和可以访问的hid设备

 

输入当前的PID和VID打开此设备

 

此时:进度条可以看到ADC采样值,若adc悬空,可以看到在中间,可以通过短路线,对PA0对地或VCC联通,可以看到变为0和255。通过按S2按键,可以看到中间按钮变红或灰。

 

 

 

 

通过LED控制,1、2、3可以控制对应D5、D4、D3亮或灭

注意:4无效,因为用于作为状态指示灯了。

固件源码

在工程管理中、采用通过文件库存放在固定位置,即与工程文件独立并共享、所以编译中需要处理以下问题

标准固件库路径:

D:\lib\ST_STD\STM32F10X_Lib   :STM32标准外设库 3.5

D:\lib\STM32_USB\V301         :stm32-usb库 3.01

D:\lib\CM3                    :与cm3相关的头文件及配置文件

完整开发包资料

 

 

posted @ 2016-01-18 16:19  西南核技术应用中心  阅读(3664)  评论(2编辑  收藏  举报