4: 2014-06-30 (月) 10:28:38 なーお  |
現: 2019-08-17 (土) 07:11:56 なーお  |
| | | | |
| | *** 準備したもの [#i22ec0be] | | *** 準備したもの [#i22ec0be] |
| - | -- MBED対応のマイコン。今回は、[[LPC1114FN28 を、秋月電子:http://akizukidenshi.com/catalog/g/gI-06071/]]で購入。 1個たったの120円!(税込) | + | -- mbed対応のマイコン。今回は、[[LPC1114FN28 を、秋月電子:http://akizukidenshi.com/catalog/g/gI-06071/]]で購入。 1個たったの120円!(税込) |
| | -- USB-シリアル変換モジュール [[FT232RL 秋月で購入:http://akizukidenshi.com/catalog/g/gK-01977/]]。 | | -- USB-シリアル変換モジュール [[FT232RL 秋月で購入:http://akizukidenshi.com/catalog/g/gK-01977/]]。 |
| | -- Arduinoスターターキット [[SGK-ARD-KIT 千石電商で購入:http://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-0BPT]] arduino uno 付きで4,940円。 arduino unoの他に付属のセット品が色々入っていて、初めてには良いですね。 arduinoからいじり始めてみたものの、mbedを教えていただいたら断然そちらが面白くなってます。 | | -- Arduinoスターターキット [[SGK-ARD-KIT 千石電商で購入:http://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-0BPT]] arduino uno 付きで4,940円。 arduino unoの他に付属のセット品が色々入っていて、初めてには良いですね。 arduinoからいじり始めてみたものの、mbedを教えていただいたら断然そちらが面白くなってます。 |
| | **** 使用ライブラリ [#tb797654] | | **** 使用ライブラリ [#tb797654] |
| | - Servo | | - Servo |
| - | mbedのオンラインコンパイラ状の「Import」でキーワード「Servo」検索し、sford cstyles さんの [[mbed R/C Servo Library:http://mbed.org/users/simon/code/Servo/]]を試しに使ってみました。 | + | mbedのオンラインコンパイラ上の「Import」でキーワード「Servo」で検索し、sford cstyles さんの [[mbed R/C Servo Library:http://mbed.org/users/simon/code/Servo/]]を試しに使ってみました。 |
| | - MySerial | | - MySerial |
| - | [[自作ライラリ MySerial:http://mbed.org/users/naao/code/MySerial/]] です。mbed標準のRawSerialクラスを継承し、受信文字列のchar配列格納を簡単にできるようにしてみました。 現時点でのソースを貼っておきます。 | + | [[自作ライブラリ MySerial:http://mbed.org/users/naao/code/MySerial/]] です。mbed標準のRawSerialクラスを継承し、受信文字列のchar配列格納を簡単にできるようにしてみました。 現時点でのソースを貼っておきます。 |
| | -- GetString メソッドは、テンプレート化でオーバーロードしてあり、引数にポインタ変数指定でも char配列指定の参照でも使えるようにしました。 | | -- GetString メソッドは、テンプレート化でオーバーロードしてあり、引数にポインタ変数指定でも char配列指定の参照でも使えるようにしました。 |
| | -- Wait時間の設定を追加してあります。 | | -- Wait時間の設定を追加してあります。 |
| | | | |
| | #include "mbed.h" | | #include "mbed.h" |
| | + | |
| | /** MySerial control class, based on a RawSerial | | /** MySerial control class, based on a RawSerial |
| | * | | * |
| | */ | | */ |
| | class MySerial : public RawSerial{ | | class MySerial : public RawSerial{ |
| | + | |
| | public: | | public: |
| | /** constructor to get chars received by serial | | /** constructor to get chars received by serial |
| | */ | | */ |
| | MySerial(PinName tx, PinName rx); | | MySerial(PinName tx, PinName rx); |
| | + | |
| | /** set wait getting chars after interrupted | | /** set wait getting chars after interrupted |
| | * | | * |
| | */ | | */ |
| | virtual int GetString(int size, char *cWord); | | virtual int GetString(int size, char *cWord); |
| | + | |
| | /** overload function to get chars after received chars by serial | | /** overload function to get chars after received chars by serial |
| | * | | * |
| | float fRxStartWait; | | float fRxStartWait; |
| | float fRxEachWait; | | float fRxEachWait; |
| | + | |
| | }; /* class MySerial */ | | }; /* class MySerial */ |
| | | | |
| | ** 実行結果 [#r5494d56] | | ** 実行結果 [#r5494d56] |
| | | | |
| - | シリアルコンソールには、定番のTeraTermではなく、「[[RS232cTOOL:http://homepage2.nifty.com/nonnon/Download/Rs232cTool/]]」というフリーソフトを使ってみました。 | + | シリアルコンソールには、定番のTeraTermではなく、「[[RS232cテストツール:http://homepage2.nifty.com/nonnon/Download/Rs232cTool/]]」というフリーソフトを使ってみました。 |
| | | | |
| | 下図のように、コマンドを送ると帰ってきたアンサーが表示されます。 | | 下図のように、コマンドを送ると帰ってきたアンサーが表示されます。 |