mirror of
https://github.com/m5stack/m5-docs.git
synced 2026-05-20 10:23:01 -07:00
3.8 KiB
3.8 KiB
USB モジュール {docsify-ignore-all}
📝概要 :octocat:サンプルコード 🔌回路図 🛒購入リンク 🎬関連動画
概要
USBモジュールはMAX3421Eを内蔵したUSBコントローラです。このモジュールはM5Coreと最大通信速度26MHzのSPIインターフェースで接続され、USBホストやUSBペリフェラルとして使用できます。
特徴
- 最大通信速度26MHz SPIインターフェース
- 8-way GPIO入出力
- 内蔵リチウム電池コネクタ
パッケージ内容
- 1x USBモジュール
アプリケーション
- USBキーロガー
- USBメモリのリードライト
関連リンク
サンプルコード
完全なソースコードはこちら。
NOTE: このサンプルを実行する前に、対応USBライブラリをこちらからダウンロードします。次にArduino IDE のメニューから スケッチ → ライブラリをインクルード → .ZIP形式のライブラリをインストール...を選択後、ダウンロードしたファイルを選択し、取り込みます。
usb_mouse.inoをM5Coreに書き込みます。USBマウスをモジュールに接続します。マウスの左ボタンを押して緑色の線を描き、右ボタンで白色の線を描きます。中央のボタンを押すと画面をクリアします。
#include <M5Stack.h>
#include <SPI.h>
#include <Usb.h>
#include <hiduniversal.h>
#include <hidboot.h>
#include <usbhub.h>
#include "M5Mouse.h"
// new objects
USB Usb;
USBHub Hub(&Usb);
HIDBoot<USB_HID_PROTOCOL_MOUSE> HidMouse(&Usb);
MouseRptParser Prs;
// 初期化
M5.begin();
Usb.Init();
HidMouse.SetReportParser(0,(HIDReportParser*)&Prs);
// handle event coming from usb device
Usb.Task();
if(Usb.getUsbTaskState() == USB_STATE_RUNNING)
{
Mouse_Pointer(mou_px, mou_py);
mou_px = 0;
mou_py = 0;
/* left button pressed: draw white point */
if (mou_button == 1)
M5.Lcd.drawCircle(StaPotX, StaPotY, 1, WHITE);
/* right button pressed: draw green point */
if (mou_button == 2)
M5.Lcd.drawCircle(StaPotX, StaPotY, 1, GREEN);
/* middle button pressed: clear screen */
if (mou_button == 4)
M5.Lcd.fillScreen(BLACK);
}
回路図
関連動画
USB デモ - USBデバイを読み込む

