OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6664|回复: 10

分享一个用stm32驱动PDIUSBD12实现虚拟鼠标的程序~

[复制链接]

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2012-12-18 17:19:15 | 显示全部楼层 |阅读模式
虽然STM32用PDIUSBD12有点浪费它自身带的硬件USB,但作为USB,了解USB枚举的详细过程,还是有必要从最简单的学习着走嘛。
工程里面有一些硬件的说明。整体程序是仿照电脑圈圈的。(还是敲了我两天的程序哦~)
需要的同学可以看看~~我也是才学USB,希望可以多交流~~~

基于PDIUSBD12的虚拟鼠标.zip

23.67 KB, 下载次数: 1017

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2012-11-24
在线时间
0 小时
发表于 2012-12-18 18:44:30 | 显示全部楼层
回复【楼主位】lsj9383:
---------------------------------
叼烟大叔,很厉害的样子,虽然不知道在说啥
回复 支持 反对

使用道具 举报

10

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2012-11-24
在线时间
0 小时
发表于 2012-12-18 20:00:33 | 显示全部楼层
顶一个~
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
 楼主| 发表于 2012-12-18 21:41:55 | 显示全部楼层
回复【2楼】青木:
---------------------------------
回复【3楼】兜里有糖:
---------------------------------
..................................................
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
 楼主| 发表于 2012-12-19 21:17:40 | 显示全部楼层
|-------------------------------------------------------  

提供USB HID Keyboard常用的按键Usage ID

第零字节为功能键。每一位对应一种按键
第一字节保留
第2字节到第7字节为c_usbKeyCode

|0     |Right|Right|Right|Right|Left |Left |Left |Left | 

|      |GUI  |Alt  |Shift|Ctrl |GUI  |Alt  |Shift|Ctrl | 
|------------------------------------------------------- 

const unsigned char c_usbKeyCode[64]=

{

  0x00,  //key up

  0x01,

  0x02,

  0x03,

  0x04,  //key a

  0x05,  //key b

  0x06,  //key c

  0x07,  //key d

  0x08,  //key e

  0x09,  //key f

  0x0a,  //key g

  0x0b,  //key h

  0x0c,  //key i

  0x0d,  //key j

  0x0e,  //key k

  0x0f,  //key l

  0x10,  //key m

  0x11,  //key n

  0x12,  //key o

  0x13,  //key p

  0x14,  //key q

  0x15,  //key r

  0x16,  //key s

  0x17,  //key t

  0x18,  //key u

  0x19,  //key v

  0x1a,  //key w

  0x1b,  //key x

  0x1c,  //key y

  0x1d,  //key z

  0x1e,  //key 1 !

  0x1f,  //key 2 @

  0x20,  //key 3 #

  0x21,  //key 4 $

  0x22,  //key 5 %

  0x23,  //key 6 ^

  0x24,  //key 7 &

  0x25,  //key 8 *

  0x26,  //key 9 (

  0x27,  //key 0 )

  0x28,  //key Enter

  0x29,  //key ESC

  0x2a,  //key Backspace

  0x2b,  //key TAB

  0x2c,  //key Space

  0x2d,  //key - _

  0x2e,  //key = +

  0x2f,  //key [ {

  0x30,  //key ] }

  0x31,  //key \ |

  0x32,  //key

  0x33,  //key ;:

  0x34,  //key ‘ “

  0x35,

  0x36,  //key , <

  0x37,  //key . >

  0x38,  //key / ?

  0x39,  //key CAP Lock

  0x3a,  //key F1

  0x3b,  //key F2

  0x3c,  //key F3

  0x3d,  //key F4

  0x3e,  //key F5

  0x3f,  //key F6

  0x40,  //key F7

  0x41,  //key F8

  0x42,  //key F9

  0x43,  //key F10

  0x44,  //key F11

  0x45,  //key F12

  0x46,  //key rint Screeen

  0x47,  //key Scroll LOCK

  0x48,  //key ause

  0x49,  //key Insert

  0x4a,  //key Home

  0x4b,  //key ageup

  0x4c,  //key Delete

  0x4d,  //key End

  0x4e,  //key ageDown

  0x4f,  //key right arrow

  0x50,  //key left arrow

  0x51,  //key down arrow

  0x52,  //key up arrow

  0x53,  //key Num LCOk

  0x54,  //keypad /1

  0x55,  // Keypad *

  0x56,  // Keypad -

  0x57,  // Keypad +

  0x58,  // keypad Enter

  0x59,  // Keypad 1

  0x5a,  // Keypad 2

  0x5b,  // Keypad 3

  0x5c,  // Keypad 4

  0x5d,  // Keypad 5

  0x5e,  // Keypad 6

  0x5f,  // Keypad 7

  0x60,  // Keypad 8

  0x61,  // Keypad 9

  0x62,  // Keypad 0

  0x63,  // Keypad .

};

GUI键即为win键,我找了win键找了很久,终于试出来了。
回复 支持 反对

使用道具 举报

4

主题

11

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2011-11-11
在线时间
0 小时
发表于 2013-6-8 16:39:33 | 显示全部楼层
顶一个
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-10-3
在线时间
0 小时
发表于 2015-4-7 09:11:42 | 显示全部楼层
你好,最近在研究如何使用STM32驱动PDIUSBD12,找了好几天终于找到了有相同做法的人了,你提供的代码已经运行过了,有些问题,就是Int中断一直都没有出现,可以提供你的原理图吗?我找了很久都没有人将使用3.3V的PDIUSBD12,如果方便的话,请回复我。。。真的非常感谢。
回复 支持 反对

使用道具 举报

25

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2015-5-2
在线时间
59 小时
发表于 2016-11-14 18:44:02 | 显示全部楼层
keepfight_zjh 发表于 2015-4-7 09:11
你好,最近在研究如何使用STM32驱动PDIUSBD12,找了好几天终于找到了有相同做法的人了,你提供的代码已经运 ...

我最近项目中用STM32+D12传输数据,可以分享下经验么?
回复 支持 反对

使用道具 举报

25

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2015-5-2
在线时间
59 小时
发表于 2016-11-16 13:48:14 | 显示全部楼层
你好,有问题想请教你下,怎么联系你呢?
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2019-2-22
在线时间
0 小时
发表于 2019-2-22 16:16:53 | 显示全部楼层
Draway 发表于 2016-11-16 13:48
你好,有问题想请教你下,怎么联系你呢?

同同同同同同同同同同
回复 支持 反对

使用道具 举报

6

主题

27

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2015-7-22
在线时间
45 小时
发表于 2019-9-2 12:06:24 | 显示全部楼层
我自己按照圈圈大神的代码,写了一个STM32的代码,可以读取正确的ID,但是INT脚的电平一直是低电平,读取了中断寄存器还是低电平,怎么都不恢复成高电平,这个是什么问题?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 11:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表