从小白入手stm32(C8T6)和PS2手柄完成的PS2遥控小车可能出现的问题,以及问题的解决方法(如串口无信号,串口信号异常等) 您所在的位置:网站首页 索尼ps2游戏手柄 从小白入手stm32(C8T6)和PS2手柄完成的PS2遥控小车可能出现的问题,以及问题的解决方法(如串口无信号,串口信号异常等)

从小白入手stm32(C8T6)和PS2手柄完成的PS2遥控小车可能出现的问题,以及问题的解决方法(如串口无信号,串口信号异常等)

2024-06-26 09:13| 来源: 网络整理| 查看: 265

目录

一.PS2介绍

二.PS2通讯协议介绍

PS2通讯过程

以下是本人零基础做PS2通信时所出现的问题以及解决方法

1.代码哪里找?

2.连接串口后,串口接收不到信号?

3.小车转弯方式以及驱动模块选择

代码资源

一.PS2介绍

今天就带大家来用是stm32搭配PS2,手柄无线操控小车。如果你需要用PS2无线手柄搭配单面机来DIY制作,那么千万别错过这篇文章。

首先介绍一下我们今天的主角-----PS2手柄。 PS2手柄是日本SONY公司的PlayStation2 游戏机的遥控手柄。索尼的 PSX系列游戏主机在全球都很畅销。不知什么时候便有人打起 PS2手柄的主意,破解了通讯协议,使得手柄可以接在其他器件上遥控使用,比如遥控我们熟悉的机器人。突出的特点是这款手柄性价比极高,按键丰富,方便扩展到其它应用中。

二.PS2通讯协议介绍

PS2采用的是SPI通信协议,SPI是串行外设接口的缩写,是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线(DI、DO、CS、CLK),节约了芯片的管脚,同时为PCB的布局上节省空间。

PS2接收器上一共有九根引脚,按上图从左往右,依次为:

1.DI/DAT:信号流向,从手柄到主机,此信号是一个8bit 的串行数据,同步传送于时钟的下降沿。信号的读取在时钟由高到低的变化过程中完成。

2.DO/CMD:信号流向,从主机到手柄,此信号和 DI相对,信号是一个 8bit 的串行数据, 同步传送于时钟的下降沿。

3.NC:空端口。

4.GND:电源地。

5.VCC:接收器工作电源,电源范围 3~5V。

6.CS/SEL:用于提供手柄触发信号。在通讯期间,处于低电平。

7.CLK:时钟信号,由主机发出,用于保持数据同步。

8.NC:空端口。

9.ACK:从手柄到主机的应答信号。此信号在每个8bits数据发送的最后一个周期变低并且CS一直保持低电平,如果CS信号不变低,约60微秒PS主机会试另一个外设。在编程时未使用ACK端口。(可以忽略)

PS2通讯过程

1. CS线在通讯期间拉低,通信过程中CS信号线在一串数据(9个字节,每个字节为8位)发送完毕后才会拉高,而不是每个字节发送完拉高。

2. DO、DI在在CLK时钟的下降沿完成数据的发送和读取。

综上所述,是PS2进行通信与操纵的基本原理。

以下是本人零基础做PS2通信时所出现的问题以及解决方法 1.代码哪里找?

代码一般商家会有,好一点的商家还会给连接视频,当然代码待得微调。

2.连接串口后,串口接收不到信号? //向手柄发送命令 void PS2_Cmd(u8 CMD) { volatile u16 ref=0x01; Data[1] = 0; for(ref=0x01;ref


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有