你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

PS2无线遥控手柄与STM32单片机通信

[复制链接]
STMCU-管管 发布时间:2020-12-3 17:42
PS2无线遥控手柄与STM32单片机通信

! z& u" j3 Y. P5 a' r
' c1 l  F$ ^; K2 Z  G
PS2无线遥控手柄9 V6 f$ ^- g3 o4 ]/ t/ e% u# x- J; |$ v
接下来要做一个小车玩玩,在网上淘了一个PS2无线遥控手柄,用于控制小车的前进、后退等功能。% d% z' \/ r  E4 U
1 U) F; P6 `- `  O

- \* W+ S- K: H9 c实物图如下:$ I) W2 W3 R2 Q2 L3 c" v0 ~5 j
11.png
其中有两个PS2游戏摇杆,对应的驱动原理参见下文:
$ _- f; k0 d1 C. [* x: ?; U6 d" h7 |( \, _# A; m/ c+ t: l

1 l1 y% a. \5 y4 ~/ v3 c, l4 Q1 tPS2游戏摇杆原理及控制实现, T) u# F' i& g" ^/ r+ E! s9 b
6 [9 X. h- z/ `; N

& i; g& c' V0 W9 [0 j% N接收器; g- I) y- H/ Z# f( T! U
与这个手柄配套的还有一个接收器,用于接收PS2无线遥控手柄发送过来的数据
! A5 S/ U& A0 o6 h) F4 i
12.png
该接收器一共有六个引脚,分别定义如下:
2 y. R0 z$ {; I0 S% M, b
13.png
注意:& X6 a; l! s9 W/ |% R: f( Y8 R2 I
& U  N, M- g; K' f
; `0 g/ K4 M9 P4 S0 T
当接收器上的绿灯常亮时,证明手柄和接收器配对成功,可以正常进行数据通讯。如果手柄和接收器断开了,按手柄上的START键即可恢复配对;  m; ]/ K, _8 r1 f- k

5 d5 |( c) ]' A) Y$ W

2 A; y( y/ ?$ D% f2 M& p2 r当手柄上的MODE指示灯没有点亮的时候,游戏摇杆四个方向输出按键键码值;当点击MODE按键后,手柄上的MODE指示灯变亮(红色),此时游戏摇杆四个方向输出AD值。* ~+ h" ~7 Z/ {. [; F) K

0 f" _" a3 ]% u/ x- F/ j$ y! T( m! j7 ^

: e; e" r0 p' j4 c硬件连接
0 z) k: [: d5 A: ]5 C$ n0 X4 F
, y$ a* x+ m8 h- J! U5 @8 |* n接收器与STM32连接如下:
, P/ `+ ]: V8 k  ?- w, s  I
14.png
15.png
“注: 使用杜邦线直接与核心板相连即可,这里为了拍照查看方便,选用智能风扇的那个底板与接收器相连。
, m! y: i5 a- X4 t程序移植
16.png
因为这个手柄通讯协议在手册中写的不详细,咱们就不分析协议部分了,我将商家提供的驱动文件放到了咱们的工程目录中,具体位置如下所示:6 N; K  ~) w/ a9 P+ y7 h
17.png
添加驱动文件4 y1 x, o. d; D: [! y7 D2 j
添加工程包含路径9 O# K# m- J) J+ c0 {
18.png
添加pstwo.c文件8 w+ r, O3 s9 G  w1 T$ e
19.png
修改宏定义
7 Y) w1 g9 G! k2 Y$ B
20.png
修改GPIO初始化代码
" G6 a% B. h; g9 q* S
21.png
上面的宏定义和GPIO的初始化代码要跟实际相连的GPIO一致。9 j! `# u+ i/ ?3 `* L

4 U: U3 w* B' [

' ?4 H! e2 n( N" ]- q" nmain.c文件直接使用即可,不用修改了。
1 V" w3 I$ n9 C+ g5 \* m! h& Z# O$ F6 c5 j) E" n
1 ]5 d! e2 z, `% T8 T
结果展示+ @8 j' g3 T( u, F9 }- B* W
测试出了所有按键的键码值,留着备用:- _! K% d, `- f5 g: t
22.png

4 l  A0 t: g' C只需要占用4个GPIO口即可实现16个按键的扩展,而且具有无线功能,作为小车的遥控器太适合了。; u1 x8 r5 T- @/ H/ V5 {4 c

' U6 U7 t) {7 v3 K" G* b
赞 收藏 3 评论3 发布时间:2020-12-3 17:42

举报

3个回答
kylixyao 回答时间:2020-12-4 10:34:50
兄弟,上源码啊
Kevin_G 回答时间:2020-12-4 15:28:36
兄弟,上源码啊
fpy135228 回答时间:2020-12-30 11:35:00
兄弟,上源码啊

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版