极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11621|回复: 5

求助!将arduino模拟成PSX手柄,实现自动控制主机。

[复制链接]
发表于 2014-5-10 18:15:07 | 显示全部楼层 |阅读模式
本帖最后由 ps2xu 于 2014-5-11 11:49 编辑

各位大侠:
    本人刚接触ARDUINO MEGA 2560,已经用PSX库读出PSX手柄信号,但现在想将arduino模拟成PSX手柄,是否可以利用psx库,模拟输出SPI信号?以自动控制PS游戏机,不胜感激。谢谢


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2014-5-10 19:02:28 | 显示全部楼层
本帖最后由 ps2xu 于 2014-5-10 19:20 编辑

哎呀,发错地儿了。arduino作为从机的话,时钟是否需要设置。SPI .setClockDivider()
回复 支持 反对

使用道具 举报

发表于 2014-5-10 22:46:56 | 显示全部楼层
ps2xu 发表于 2014-5-10 19:02
哎呀,发错地儿了。arduino作为从机的话,时钟是否需要设置。SPI .setClockDivider()

spi时钟信号是主机提供的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-11 11:57:21 | 显示全部楼层
arduino的52连接主机时钟!arduino如何知道他的时钟频率?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-12 08:15:49 | 显示全部楼层
主机作上位机,arduino作下位机
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-12 14:48:52 | 显示全部楼层
本帖最后由 ps2xu 于 2014-5-12 15:19 编辑

帮看下,初稿ARDUINO作为从机,模拟PS控制柄,也不知道是否需要设置setBitOrder()和setDataMode()
  1. #include <SPI.h>

  2. const int ACK = 10;
  3. int val;
  4. int val1;

  5. void setup() {
  6.     pinMode (MOSI, INPUT);
  7.     pinMode (MISO, OUTPUT);
  8.     pinMode (SCK, INPUT);
  9.     pinMode (SS, INPUT);
  10.     pinMode (ACK, OUTPUT);
  11.     SPI.begin();
  12. }

  13. void loop() {
  14.   
  15.   if(SS==LOW){
  16.   digitalWrite(ACK,LOW);
  17.     val = SPI.transfer(0XFF);
  18.      if(val==0X01){
  19.        val1 = SPI.transfer(0X41);
  20.         if(val1==0x42);{
  21.           SPI.transfer(0X5A);
  22.           SPI.transfer(0XFF);
  23.           SPI.transfer(0XFF);
  24.         }
  25.      }
  26.   }

  27.   delay(2);
  28.    digitalWrite(ACK,HIGH);
  29. }
复制代码


各脚功能:
DATA=MISO
信号流向从arduino到主机。
此信号是一个8 bit的串行数据,同步传送于时钟下降沿(输入输出信号在时钟信号由高到低时变化,所有信号的读取在时钟前沿到电平变化之前完成。)
COMMAND=MOSI
信号流向从主机到arduino。
此信号和DATA相对,同样是一个8 bit的串行数据,同步传送于时钟下降沿。
VCC
电源电压从5V到3V都可以工作。
主机主板上装有表面安装的750mA 保险丝 ,用于防止外设过载
ATT=SS
ATT 用于主机提供arduino触发信号。
信号在通信期间处于低电平。
CLOCK
信号流向从主机到arduino。
用于保持数据同步。
ACK=ACK
从arduino到主机的应答信号。
此信号在每个8 bits数据发送之后的最后一个时钟周期变低,并且ATT 一直保低电平。如果ACK 信号不变低约60微秒PS主机会试另一个外设。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-13 22:15 , Processed in 0.075796 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表