1月15日開催!現年収非公開で企業からスカウトをもらってみませんか?PR

転職ドラフトでリアルな市場価値を測る。レジュメをもとに、企業から年収とミッションが提示されます。

7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

STM32F103でHIDデバイス

Last updated at Posted at 2018-02-12

STM32_Arduino の bootloader を書き込むと使えるようになるUSBデバイス。実装されているのはシリアル通信のみだったが USBHID ができるようになった。キーボードやマウスを模した動作ができるようになる。

2020/03/10追記: 上記は2018年の初稿当時の状況。

使うライブラリ

以下のやり方を試しました。

  • arpruss版USBHID 初稿当時に実現していた方法
  • STM32_Arduino 標準のライブラリを使うやりかた。ardruss版USBHIDの機能を STM32_Arduino が取り入れたようだ。(2020/03/10追加)

arpruss版USBHID

コレを見ると、MIDIやMass storageもできるとある。
夢がひろがりんぐ

上記サイトからダウンロード。今回はZIPでダウンロードした。

展開して、Arduinoスケッチを保存するところに展開する。

今回は、ポータブル環境だったので以下に展開した。

.../(ポータブル環境ディレクトリ)/hardware/Arduino_STM32-master/STM32F1/libraries

ZIPを展開すると USBHID_stm32f1-master という名前のフォルダができるが、それを USBHID_stm32f1 というフォルダ名に変更し、上記の設定になるように変更する。


#include <USBHID.h>

void setup() {
  USBHID_begin_with_serial(HID_KEYBOARD);
  Keyboard.begin();
}

void loop() {
 
    Keyboard.println("Hello,world.");
    delay(5000);
}

とすると、5秒おきに Hello,World が出力できた。

STM32_Arduino 標準のライブラリを使うやりかた

以下のようなスケッチを書いて実行。


#include <USBComposite.h>
USBHID HID;
HIDKeyboard Keyboard(HID);
 
void setup() {
  HID.begin(HID_KEYBOARD_MOUSE);
  delay(2000);
}

void loop() {
  Keyboard.println("Hello!");
  delay(5000);
}

5秒おきにHello!が出るようになった。

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Qiita Advent Calendar is held!

Qiita Advent Calendar is an article posting event where you post articles by filling a calendar 🎅

Some calendars come with gifts and some gifts are drawn from all calendars 👀

Please tie the article to your calendar and let's enjoy Christmas together!

7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?