環境
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]

コメント