GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
setPowerManagementMode(mode, lower, upper)ののPM_SNOOZE_MODEは省電力のサンプルプログラムが正常に動作し、ターミナルで値を受け取れます。
delay(ms)実行中に省電力モードになる機能を使うため、
M_STOP_MODE にして delay(ms) を実行すると待ち時間は正しいようなのですが、UARTの通信が異常になりますが、そういうものなんでしょうか? 使い方が間違っています?
以下のプログラムLEDは点滅しますが、ターミナルの出力は改行だけで文字が出力されません。setPowerManagmentModeをコメントにするとLED ON と LED OFFが交互に出力されます。---------------------#include <Arduino.h>
const int led=6;void setup() { // put your setup code here, to run once: Serial.begin(115200); setPowerManagementMode(PM_STOP_MODE, 0, 1023); // これをコメントにすると正常になる pinMode(led, OUTPUT);}
void sleep(int sleep_time){ delay(sleep_time);}
void loop() { // put your main code here, to run repeatedly: digitalWrite(led, HIGH); Serial.println("LED ON"); sleep(1000); digitalWrite(led, LOW); Serial.println("LED OFF"); sleep(1000);}------------------------
がじぇるね岡宮です。
Serial.flush()をした方がいいかもしれないですね。UARTの送信が止まってしまうと思います。以下のページのサンプルの通りです。省電力 | Renesas
サンプルで提示したプログラムはSerial.flash()で動作しました。ありがとうございました。豊四季TinyBasic for RL78にsleep(ms) 関数を追加するのが目的でしたがそちらはうまくいきませんでした。sleep関数は、delay関数の省電力版なのですが、なくても困らないので取り敢えずは諦めました。