久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10648|回復: 2
打印 上一主題 下一主題
收起左側

破解snoy ps2無線手柄

[復制鏈接]
跳轉到指定樓層
樓主
ID:51025 發表于 2014-8-29 17:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在網上買的snoyps2無線手柄,打算破解它,控制機器人,snoy沒有提供資料,所有的資料都是前人破解成功傳到網上的,花了很久才找到,我用stm32芯片來接收無線接收器的數據,我們不用管無線是怎么工作的,我們只需要讀取數據就可以了。
請參考以下博客,他們寫的比較好,我就不在重復了,最后把我的程序貼上來。

http://blog.163.com/zgbn2002@126 ... 001102010495044500/

http://blog.163.com/zgbn2002@126 ... 110201041105119576/




這是我的stm32程序,數據讀取均正常,每秒能讀取130多次。


#ifndef __PS2_JOYPAD_H
#define __PS2_JOYPAD_H
#include "sys.h"
#include "delay.h"
#include "usart.h"

#define PS2_JOYPAD_DATA  PCin(0)
#define PS2_JOYPAD_CMND PCout(1)
#define PS2_JOYPAD_ATT PCout(2)
#define PS2_JOYPAD_CLOCK PCout(3)
#define PS2_JOYPAD_ACK PCin(4)

#define PS2_JOYPAD_CMND_START  0X01  //起始命令
#define PS2_JOYPAD_CMND_DEMAND 0X42 //數據請求
#define PS2_JOYPAD_CMND_NOP   0X00   //idle

void PS2_Wireless_JOYPAD_Init(void);
u16 PS2_Wireless_JOYPAD_DATA(void);

#endif




#include "ps2_joypad.h"



//PS2無線手柄的初始化
//初始化成功返回0,失敗返回1
void PS2_Wireless_JOYPAD_Init(void)
{
RCC->APB2ENR|=1<<4; //先使能外設PORTC時鐘
GPIOC->CRL&=0XFFF00000;
GPIOC->CRL|=0X00083338;   
GPIOC->ODR|=1<<4;
GPIOC->ODR|=1<<3;
GPIOC->ODR|=1<<2;
GPIOC->ODR|=1<<1;
GPIOC->ODR|=1<<0;
PS2_JOYPAD_CLOCK=1;
PS2_JOYPAD_CMND=1;
PS2_JOYPAD_ATT=1;
delay_ms(10);
}

u8 PS2_Wireless_JOYPAD_WriteRead(u8 cmd)
{
u8 i=0;
u8 value=0;
u8 CMD=cmd;
for(i=0;i<8;i++)
{
PS2_JOYPAD_CLOCK=1;
if(CMD&0x01)PS2_JOYPAD_CMND=1;
else PS2_JOYPAD_CMND=0;
CMD>>=1;
delay_us(10);
PS2_JOYPAD_CLOCK=0;
delay_us(15);
value>>=1;
if(PS2_JOYPAD_DATA)value|=0x80; //0000 0000
}
PS2_JOYPAD_CLOCK=1;
return value;
}

//檢測應答函數
//有應答信號返回0,無應答信號返回1
u8 PS2_Wireless_JOYPAD_ACK(void)
{
u8 i=0;
PS2_JOYPAD_CLOCK=1;
delay_us(5);
PS2_JOYPAD_CLOCK=0;
while(i<100)
{
if(0==PS2_JOYPAD_ACK)break;
i++;
}
PS2_JOYPAD_CLOCK=1;
return i<100?0:1;
}

//讀取數據函數
//成功返回0,失敗返回1
u16 PS2_Wireless_JOYPAD_DATA(void)
{
u8 PS2_JOYPAD_ID=0;
u8 table[3]={0};
//LEFT DOWN RGHT UP STRT X X SLCT       正方形 叉 圓形三角形 R1 L1 R2 L2
u16 PS2_VALUE=0XFFFF;

PS2_JOYPAD_ATT=0;//片選使能
delay_us(10);

PS2_Wireless_JOYPAD_WriteRead(PS2_JOYPAD_CMND_START);
if(1==PS2_Wireless_JOYPAD_ACK())return 1;
//手柄ID號,我的是數字手柄返回0X41
PS2_JOYPAD_ID=PS2_Wireless_JOYPAD_WriteRead(PS2_JOYPAD_CMND_DEMAND);
if(1==PS2_Wireless_JOYPAD_ACK())return 1;
table[0]=PS2_Wireless_JOYPAD_WriteRead(PS2_JOYPAD_CMND_NOP);//0x5a
if(1==PS2_Wireless_JOYPAD_ACK())return 1;
table[1]=PS2_Wireless_JOYPAD_WriteRead(PS2_JOYPAD_CMND_NOP);//data1
if(1==PS2_Wireless_JOYPAD_ACK())return 1;
table[2]=PS2_Wireless_JOYPAD_WriteRead(PS2_JOYPAD_CMND_NOP);//data2

PS2_VALUE=(table[1]<<8)|table[2];

delay_us(10);
PS2_JOYPAD_ATT=1;

return PS2_VALUE;
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:66061 發表于 2014-9-18 09:32 | 只看該作者
樓主厲害,學習了
回復

使用道具 舉報

板凳
ID:120504 發表于 2016-5-13 11:31 來自觸屏版 | 只看該作者
樓主,你給的鏈接打不開啊。我要破解手柄的接收器,要自己做,樓主有資料嘛?跪求627952422@qq.com
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产乱性 | 日韩1区2区 | 欧美 日韩 亚洲91麻豆精品 | 国产精品久久国产精品久久 | 91看片网址 | 欧美日韩一区二区三区在线观看 | 一级做a| 久久久久久久91 | 黄在线免费观看 | 中国美女av | 欧美一区二区三区在线观看 | 麻豆精品国产91久久久久久 | 天天狠狠 | 色综合桃花网 | 91精品久久久久 | 在线免费观看a级片 | 国产精品久久久亚洲 | 91视频88av| 日本亚洲欧美 | 亚洲欧美在线一区 | 韩国久久 | 成人性视频免费网站 | 亚洲精品一区二三区不卡 | 久久久久久久久久久福利观看 | aaa国产大片 | 水蜜桃久久夜色精品一区 | 欧美一区2区三区4区公司 | 欧美日韩亚洲一区 | 亚洲一区中文字幕在线观看 | 欧美日韩在线播放 | 黄色三级免费网站 | 国产乱码精品一区二区三区忘忧草 | xxxxx黄色片| 免费观看视频www | 国产99精品 | 日本三级全黄三级三级三级口周 | 国产欧美精品区一区二区三区 | 亚洲欧美综合精品另类天天更新 | 色视频在线观看 | aaa级片| 一区二区国产精品 |