Arduino M0とESP-WROOM-02を使うときに見落としがちな設定
Arduino M0(Mo Pro)とESP-WROOM-02(ESP8266)をシリアル通信(ATコマンド)で使う際に必要なArduino IDEの設定方法をまとめました。設定せずとも動作するのですが、動作が不安定だったりサーバーから受け取った値が壊れたりするので必ず設定したほうが幸せになれます
メモリリーク不具合を修正
Arduino M0はarduino.orgのArduino IDE(2016/03/14時点の最新版は1.7.8)で開発するのですが、メモリリークする不具合があります。/hardware/arduino/samd/cores/arduino/USB/samd21_device.c
の152行目を下記のように書き換えます。
for (i = 0; i < sizeof(usb_endpoint_table)/4; i++) {
(*(uint32_t *)((uint32_t *)(&usb_endpoint_table[0])+i)) = 0;
}
バッファーサイズを上げる
\arduino-1.7.8\hardware\arduino\samd\cores\arduino\RingBuffer.h
のSERIAL_BUFFER_SIZE
でシリアル通信時のデータのバッファーサイズを設定できます。初期では64が設定されていますが、ESP-WROOM-02とシリアル通信を行うと超えてしまうことがあります。そうすると、サーバーから受け取ったデータが更新されなかったりデータが壊れる恐れがあるので、256以上を設定します。
#define SERIAL_BUFFER_SIZE 256
まだまだ情報少ないですね
国内でESP-WROOM-02が発売されてまだ一年たたないこともあり、まだまだ情報少ないですね これからもコツコツ踏んだ地雷の共有は続けていこうと思います。
Author And Source
この問題について(Arduino M0とESP-WROOM-02を使うときに見落としがちな設定), 我々は、より多くの情報をここで見つけました https://qiita.com/umi_kappa/items/df1acec955dee4ed921d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .