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

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

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

% V& {) ]) B9 Q

: D0 h/ w# Y3 v* d% S& [PS2无线遥控手柄
) `! m) j1 T0 B# o, y0 X# k; u. c接下来要做一个小车玩玩,在网上淘了一个PS2无线遥控手柄,用于控制小车的前进、后退等功能。
! S/ j9 N8 s0 K) a% {- l3 u2 l
& b) q$ d# h4 L+ M6 m  L
: i5 F1 n+ \1 D9 |: S7 f
实物图如下:
$ \6 f* m5 k1 |+ h6 {. r# |
11.png
其中有两个PS2游戏摇杆,对应的驱动原理参见下文:4 n6 e. Q8 i9 G. W$ J! O
( m6 c: v2 a7 ], f8 F, W* n/ L0 n

  c4 w& v! e3 V% {# Q7 Y" x" H, RPS2游戏摇杆原理及控制实现! j( C7 J: P! p* Q  [8 F& H' X

' T& p8 l  N! V7 X
8 e! M) r' H3 Z$ \" T, S% j
接收器
! g+ t: g' o! D7 X' B/ z与这个手柄配套的还有一个接收器,用于接收PS2无线遥控手柄发送过来的数据" U& A) P; r2 b& _. H0 y
12.png
该接收器一共有六个引脚,分别定义如下:% q: d4 v% {. _' \. \  L, v9 o
13.png
注意:
* [' `% y' g* X4 D* I8 `! g3 b5 D$ r! v% N: q/ {, {  @; f5 u

- v; C( ~4 g. j, E) ?1 X6 i当接收器上的绿灯常亮时,证明手柄和接收器配对成功,可以正常进行数据通讯。如果手柄和接收器断开了,按手柄上的START键即可恢复配对;- `0 T/ P. u' C/ Z  R& @5 }
4 `' m9 \$ g7 t# r3 y

! L& g% \/ \* i( g9 F, D当手柄上的MODE指示灯没有点亮的时候,游戏摇杆四个方向输出按键键码值;当点击MODE按键后,手柄上的MODE指示灯变亮(红色),此时游戏摇杆四个方向输出AD值。$ l! u+ a. v" _) M

. Y' ?, f; {7 o8 {

. ]+ d0 w( u2 k8 a5 f硬件连接
4 R" g3 P0 f9 D: c7 O- s: W2 `9 O( A' d! Y
接收器与STM32连接如下:7 N" L' E( \+ y8 ^7 q( G
14.png
15.png
“注: 使用杜邦线直接与核心板相连即可,这里为了拍照查看方便,选用智能风扇的那个底板与接收器相连。: D) j. y. A$ `# h) V6 w- Z
程序移植
16.png
因为这个手柄通讯协议在手册中写的不详细,咱们就不分析协议部分了,我将商家提供的驱动文件放到了咱们的工程目录中,具体位置如下所示:
' e) l9 v6 ]/ ^* l8 @; z
17.png
添加驱动文件
- Z: W  `' E* N. ]8 A添加工程包含路径* c5 v& X! I; X4 j4 f# S. `
18.png
添加pstwo.c文件
" n- h% R3 c6 q1 I& L# \: J' @
19.png
修改宏定义$ l# \/ A2 ~$ v8 V7 E$ o+ [
20.png
修改GPIO初始化代码1 `$ s1 z  N8 h& H0 q
21.png
上面的宏定义和GPIO的初始化代码要跟实际相连的GPIO一致。& O% T% u. V) H" Z7 m  c3 |
! p8 Y) w7 B) E# \& g! r
6 c* z+ J, Z; B8 n* a/ J
main.c文件直接使用即可,不用修改了。
0 ]& A5 x2 e  ]; R7 e
. D2 ?) b7 d1 r  c4 @2 V6 e

1 X) l1 n# `  }. g结果展示
1 f% \2 v- l* g% U6 z测试出了所有按键的键码值,留着备用:
1 C& X3 ~5 a) n: j4 a  q/ \! o
22.png

( t" Z6 W$ x7 I+ Y只需要占用4个GPIO口即可实现16个按键的扩展,而且具有无线功能,作为小车的遥控器太适合了。4 J& l! ^6 d4 g" M2 X' v

0 d& p8 C- ~; \9 X" y
收藏 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版