# DUALSHOCK2
DUALSHOCK2(SCPH10010) との通信用ライブラリ
## 回路
- DAT(SPIのMISO)ピンは 1kΩ で 3.3V にプルアップする(マイコンのプルアップだと通信が安定しない)
| ピン番号 | ピン名 | 備考 |
| -------- | ------ | -------------- |
| 1 | DAT | SPIのMISO |
| 2 | CMAD | SPIのMOSI |
| 3 | ~7V | 振動モータ電源 |
| 4 | GND | GND |
| 5 | 3.3V | IC電源 |
| 6 | SEL | SPIのSS |
| 7 | SCK | SPIのCLK |
| 8 | NC | なし |
| 9 | ACK | アクノリッジ |
## CubeMX
```yaml
Pinout
- SPIn
- SSピンとして任意のピンを GPIO_output に変更
SPIn
- Mode
- Mode = Full-Duplex Master
- Hardware Signal = Disable
- Parameter setting
- Basic parameter
- Frame Format = Motorola
- Data Size = 8bit
- First bit = LSB first
- Clock parameter
- Prescaler = その下の baud rate が 500KBit/s になるように設定 (1000KBit/sでもできたがたまにうまくいかないことがある)
- Clock Polality = High
- clock Phase = 2Edge
```
## サンプルプログラム
### コンストラクタ
```C++
DUALSHOCK2 dualshock2(hspi2, SPI_SS_GPIO_Port, SPI_SS_Pin, 0xF);
```
### 初期設定
```C++
dualshock2.init();
dualshock2.reset_stick();
```
### 更新と取得
```C++
std::array<uint8_t, 21> receive_data;
std::array<int16_t, 4> stick_data;
dualshock2.update(0x20);
receive_data = dualshock2.get_data_exex();
stick_data = dualshock2.get_stick_data();
```
注:3秒以上 update() を実行しないと DUALSHOCK2 の内部設定が初期化されてしまう。その際は再び init() を実行すること。
## 参考資料
- [プレイステーション 2 専用 ローリングスイッチ技術資料](http://magicpuppet.org/rolling_switch_technical_document.pdf)
- [デュアルショック(SCPH-1200)の解析 - 寺川 愛印](http://applause.elfmimi.jp/dualshock.txt)
- [デュアルショック2(SCPH-10010)の新機能使用方法 - NT](https://applause.elfmimi.jp/dualshock/millar/NT/dualshock_2.txt)
没有合适的资源?快使用搜索试试~ 我知道了~
STM32和DUALSHOCK2(SCPH10010)通信用库
共3个文件
md:1个
hpp:1个
cpp:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 119 浏览量
2023-11-05
17:01:17
上传
评论
收藏 4KB ZIP 举报
温馨提示
该资源内项目源码是个人的课程设计作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
资源推荐
资源详情
资源评论
收起资源包目录
lib-DUALSHOCK2-master.zip (3个子文件)
lib-DUALSHOCK2-master
DUALSHOCK2.cpp 3KB
DUALSHOCK2.hpp 5KB
README.md 2KB
共 3 条
- 1
资源评论
机智的程序员zero
- 粉丝: 2359
- 资源: 4800
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功