PS2有线手柄的SPI协议

PS2有线手柄的SPI协议1.SPI模式与PS2采用的是SPIMODE3模式。并且使用低位在前方式收发数据。2.请求PS2按键数据想要向PS2请示数据要发送一个请求命令。请求命令如下所示:cmd_require[9]={0x01,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//数据按先低位后高位发送3.接收PS按键数据在发送请求命令的…

大家好,又见面了,我是你们的朋友全栈君。

1.SPI模式

  与PS2采用的是SPI MODE3模式。并且使用低位在前方式收发数据。

2.请求PS2按键数据

   想要向PS2请示数据要发送一个请求命令。请求命令如下所示:

  cmd_require[9]={0x01,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00};  // 数据按先低位后高位发送

3.接收PS按键数据

   在发送请求命令的同时,PS2会同步输出按键数据。如下为无按键按下时,求请命令和按键数据的对应关系:

   cmd_require[9] = { 0x01,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };   // 向PS2请求键数据

   data_key[9]      = { 0x00,0x41,0x5A,0xFF,0xFF,0x00,0x00,0x00,0x00 };   // PS2同步输出的按键数据,第一字节为无效数据

   注意:

       data_key[]数组中的‘0x41’是一个标志字节,表示此数据中只包函单纯按键数据。应用程序可以通过此位来判断接收

到的数据是否包函摇杆数据。下面会讲怎么获取摇杆数据。

      data_key[3]和data_key[4]这两个字节的每一位对应手柄上的一个按键。当相应按键被按下时,对应的位会被设置为0.

4.请求PS2摇杆数据

   请求PS2摇杆数据和请求PS2按键数据时送的命令是一样的。请求命令如下所示:

  cmd_require[9]={0x01,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00};  // 请求按键和摇杆数据

  当用户按下手柄上的‘ANALOG’按键,并且手柄上的LED灯点也亮了。这样用户再操作摇杆时就可以得到摇杆对应的数据

  了。

5.接收PS2按键数据

   在发送请求命令的同时,PS2会同步输出按键数据和摇杆数据。如下为无按键按下时,求请命令和按键数据的对应关系:

   cmd_require[9] = { 0x01,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };   // 向PS2请求键数据

   data_key[9]      = { 0x00,0x73,0x5A,0xFF,0xFF,0x80,0x80,0x80,0x80 };   // PS2同步输出的按键数据,第一字节为无效数据

   注意:

       当data_key[1] = 0x73时,表示PS2返回的数据是按键+摇杆数据。data_key[]最后4字节应对手柄上的左、右两个摇杆的

   数据。0x80表示摇杆处于中间位置,0x00-0xff代表了摇杆的具体位置。

 

参考资料:

http://www.billporter.info/2010/06/05/playstation-2-controller-arduino-library-v1-0/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138635.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • centos 安装 使用本地图像文件来安装网络安装「建议收藏」

    centos 安装 使用本地图像文件来安装网络安装

    2022年1月17日
    40
  • Mac OS X中MacPorts安装和使用

    Mac OS X中MacPorts安装和使用Mac下面除了用dmg、pkg来安装软件外,比较方便的还有用MacPorts来帮助你安装其他应用程序,跟BSD中的ports道理一样。MacPorts就像apt-get、yum一样,可以快速安装些软件。下面将MacPorts的安装和使用方法记录在这里以备查。访问官方网站http://www.macports.org/install.php,这里提供有dmg安装和源码安装两种方式,d…

    2022年9月21日
    0
  • 如何用51单片机控制步进电机运动

    如何用51单片机控制步进电机运动本来接触单片机挺久了的,但是一直只是停留在非常初级的认识阶段,本科的时候上过几门课,但是从来没有自己捣鼓过单片机,这次突然来了兴趣,感觉一下子学到了好多东西,在这里好好整理一下。这篇文章只适合于入门阶段的小白阅读,高手请绕道。12年年初的时候购买了一套普中科技的“单片机开发试验仪”,好多次想好好学学,结果每一次都半途而废,主要原因还是周围的人都不会用,有问题都不知道找谁问,结果锁到箱子里一直到现在。

    2022年6月1日
    31
  • 西门子plc485通讯控制变频器_西门子300plc波特率怎么改

    西门子plc485通讯控制变频器_西门子300plc波特率怎么改品牌:Endaic型号:CHNet-S7300MD产品简介CHNetS7-S7300MD用于西门子S7-200/SMARTS7-200/S7-300/S7-400/西门子数控840D、840DSL等PLC的以太网数据采集,非常方便构建生产管理系统。CHNetS7-S7300MD不占用PLC编程口,即编程软件/上位机软件通过以太网对PLC数据监控和采集的同时,触摸屏可以通过扩展RS485口与PLC进行通讯。CHNetS7-S7300MD支持工控领域内绝大多数SCADA软件,支持西门子S7TCP.

    2022年10月8日
    1
  • onpropertychange事件(on intention)

    onpropertychange事件(on intention)IE下,当一个HTML元素的属性改变的时候,都能通过onpropertychange来捕获。例如一个对象的value属性被页面的脚本修改的时候,onchange无法捕获到,而onpropertychange却能够捕获。(是实时性捕捉到的)也就是说:onpropertychange能及时捕获属性值的变化,而onchange在属性值改变时还必须使得当前元素失去焦点(onblur)才可以激活该事件!

    2022年4月18日
    117
  • 服务器 IIS服务器防盗链具体设置方法

    服务器 IIS服务器防盗链具体设置方法IIS主机的Rewrite伪静态组件下载与配置之前已经讲过,如果你的apache服务器,请看<Apache服务器设置防盗链的方法>,今天主要说下IIS服务器防盗链的设置方法。isapi_rewrite利用正则表达式进行替换规则的表示。进行正则表达式的编写的时候,可以利用isapi_rewrite提供的正则表达式测试工具(默认安装提供),进行调试。做好了匹配表达式和格式化表达式,我们可…

    2022年7月23日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号