mbed(LPC11U35) で USB シリアル通信
mbed LPC11U35 で USB シリアル通信をしたのでメモ
USB CDC(Communications Device Class)と呼ばれる
USB上でデバイス間のデータのやりとりを行うための通信規格を利用して実現している
環境
- Windows10
- mbed EA LPC11U35
- TeraTerm
準備
- TeraTerm のインストール
- Chocolatey を使用している場合は以下でインストール
choco install teraterm
- それ以外は以下のサイトからインストーラをダウンロードしインストールする
- Chocolatey を使用している場合は以下でインストール
- mbed ワークスペースから USBDevice ライブラリをインポートする
- コーディングし mbed に書き込む
- コードは以下を参照
- mbed をリセット
- OS が USB ポートを認識することを確認する
- TeraTerm を起動
- 新しい接続は シリアル を選択
- COMx ポートとかになっているはず
- TeraTerm から文字列を送信できるようにする
- 「設定」タブ
- 端末
- 「ローカルエコー」にチェック
- 「OK」
- TeraTerm から文字列を入力し、mbed からエコーバックされれば成功
コード
端末から文字列を受け取ってエコーバックするプログラム
#include "mbed.h" #include "USBSerial.h" DigitalOut myled(LED1); USBSerial serial; int main() { uint8_t buf[128]; while(1) { myled = 1; // LED is ON wait(0.5); // 200 ms myled = 0; // LED is OFF serial.scanf("%s", buf); serial.printf("recv: %s\n\r", buf); wait(0.5); // 1 sec } }