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

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

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

, D9 O; Y$ S# q+ J4 \6 J* D

5 e, ]7 G) }! E  l. z- Y5 EPS2无线遥控手柄
" R) b: y3 E8 H" F, Z* Z9 G* U1 Q接下来要做一个小车玩玩,在网上淘了一个PS2无线遥控手柄,用于控制小车的前进、后退等功能。
& t. M0 I: h$ u( `, P9 ?) n2 v4 T& K2 g* k

5 y4 I- y( W* o3 e( B/ v实物图如下:
: c( n1 A/ a$ W0 P$ R/ o5 d8 T
11.png
其中有两个PS2游戏摇杆,对应的驱动原理参见下文:' x7 f7 ^3 N" r4 F  b- {4 {
- b* q( U, Q4 u, A" K+ s9 X5 j

# j7 u! g0 P' p8 |1 _# ]PS2游戏摇杆原理及控制实现/ @9 @7 S, ^: G1 L: g" ?
/ e( i( N4 X* a0 U/ C$ b; V8 L
$ {; ^) q0 @+ Q& H% o
接收器1 }2 T2 p% r. h6 i( ?: r
与这个手柄配套的还有一个接收器,用于接收PS2无线遥控手柄发送过来的数据$ ^- G* V5 T! l/ v6 ], D: M" A
12.png
该接收器一共有六个引脚,分别定义如下:! Y# J9 \4 V; A2 U  r2 l
13.png
注意:
- z! }& Y, C& O- G; m+ ?; ^. i
3 f0 I. \) U. _
; h$ W$ i6 i1 M- w4 k
当接收器上的绿灯常亮时,证明手柄和接收器配对成功,可以正常进行数据通讯。如果手柄和接收器断开了,按手柄上的START键即可恢复配对;
5 |0 r- h; T: c' B0 U5 \& \
; p; e8 B0 T3 _2 d/ y4 s6 J, G: [
! Q3 l3 L3 I$ o5 }& V) C! S* P. @/ c
当手柄上的MODE指示灯没有点亮的时候,游戏摇杆四个方向输出按键键码值;当点击MODE按键后,手柄上的MODE指示灯变亮(红色),此时游戏摇杆四个方向输出AD值。
4 f9 v* Z% |1 B. R+ U/ G, x" S' `8 V! i2 k  s
' G7 G6 a- t/ O( t
硬件连接9 H9 t" ]6 s) v3 }
7 A8 H( C3 S, I9 [$ s6 `6 @
接收器与STM32连接如下:3 M  X, e3 M# R3 ?
14.png
15.png
“注: 使用杜邦线直接与核心板相连即可,这里为了拍照查看方便,选用智能风扇的那个底板与接收器相连。
' H0 o  H* o0 ~3 k4 k. v4 O程序移植
16.png
因为这个手柄通讯协议在手册中写的不详细,咱们就不分析协议部分了,我将商家提供的驱动文件放到了咱们的工程目录中,具体位置如下所示:4 c& @4 k/ Q, v( M
17.png
添加驱动文件5 p1 R+ C! a3 a
添加工程包含路径; |. g2 }( p  T7 A1 b
18.png
添加pstwo.c文件
" c( M8 |  T$ p
19.png
修改宏定义8 R! [( F9 s+ N6 m2 F& c
20.png
修改GPIO初始化代码& m: D7 V5 k" e* I9 W! D
21.png
上面的宏定义和GPIO的初始化代码要跟实际相连的GPIO一致。
* y  L' @' U; B: V
  I4 I6 D  R3 [' B4 g* _6 r

- q' k$ _0 |8 L+ i) O  w: N# tmain.c文件直接使用即可,不用修改了。
& i) g8 q! ^5 J; v6 k
- |1 q, Q; i0 f" k+ `6 G2 W

& U+ k: i; L- V3 n$ r/ }& L- m+ ]( o结果展示
4 Z: F$ U! Z9 L" J' G) K  g& ~' [测试出了所有按键的键码值,留着备用:7 m/ b, k  ]& j3 N& b9 P3 c
22.png

& y$ c) B6 x' z6 U1 v; I) @. s只需要占用4个GPIO口即可实现16个按键的扩展,而且具有无线功能,作为小车的遥控器太适合了。
+ E. S9 X5 o! P" R
6 O& I+ {, F" g3 B' j' M6 f. K
赞 收藏 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 手机版