環境
OS: windows7 64bit
IDE: Arduino 1.6.9
概要
スリープテスト その2
準備
結線
PCとArduinoをUSBでつなぐ。
サンプルスケッチ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#include <avr/sleep.h> void setup() { Serial.begin(9600);// シリアルポートを9600 bps[ビット/秒]で初期化 } void loop() { // set_sleep_mode(SLEEP_MODE_IDLE); // Serial.println("SLEEP_MODE_IDLE"); // set_sleep_mode(SLEEP_MODE_ADC); // Serial.println("SLEEP_MODE_ADC"); // set_sleep_mode(SLEEP_MODE_PWR_SAVE); // Serial.println("SLEEP_MODE_PWR_SAVE"); set_sleep_mode(SLEEP_MODE_STANDBY); Serial.println("SLEEP_MODE_STANDBY"); // set_sleep_mode(SLEEP_MODE_PWR_DOWN); // Serial.println("SLEEP_MODE_PWR_DOWN"); delay(150); sleep_enable(); sleep_mode(); sleep_disable(); delay(1000); Serial.println("CHECK"); } |
結果
上記サンプルにてスリープは確認できましたが・・・
「SLEEP_MODE_IDLE」ではすぐにシリアル通信は止まらず、もしくはすぐにスリープから復帰。
「SLEEP_MODE_ADC」、「SLEEP_MODE_ADC」、「SLEEP_MODE_PWR_SAVE」、「SLEEP_MODE_PWR_SAVE」ではシリアル通信は停止するものの、基板上のLED”ON”,”L”は消えず。
まだいまいち理解できていません。。。。
参考
[toggle heading=”h3″ title=”参考” ]
[/toggle]
コメント