- ベストアンサー
PICマイコンで変数値の保持
PICマイコンで変数値の保持 PICマイコンでリセット時にリセット前の変数の値を1,2個保持して リセット後に用いたいのですが、なにかいい方法はありませんか? EEPROMは搭載してません。 また外部接続のパーツを増やさないのが望ましいです。 データ領域をうまく使う方法がありますかね? PIC24FJ32GA002です。 開発環境はMPLAB v8.35 C30コンパイラー です。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
リセット時に電源を落とさないのであれば、RAMはクリアされないのでRAMのデータがそのまま使えます。 だだし、起動した時にリセットされたのか、電源を切断したのか判別する必要があります。多分IOのレジスタを調べれば判るはずです。 電源を切断するならばやはり外部にシリアルのEEPROMが必要です。
その他の回答 (1)
- tadys
- ベストアンサー率40% (856/2135)
回答No.2
プログラム領域を使う方法は有ります。 データシートの 「4.0 FLASH PROGRAM MEMORY」の項目を読んでください。 ただし、以下のように注意が必要です。 書き換え回数が1万回です。EEPROMは100万回ですから1/100の回数です。 書き込みは64命令(192バイト)単位になります。 書き込む前には512命令(1536バイト)を消去する必要があります。 つまり1536バイトがプログラム用に使用できなくなります。 1536バイトの内1バイトだけ書き変えようとすると最初に1536バイトをRAMに読み込んでおいてから書き戻す必要があります。
質問者
お礼
プログラム領域を使う方法があるんですね。 512命令を消去というのはプログラム領域を使う場合ですか? データシート見てみます。 ありがとうございます。
お礼
初期化さえしなければ、RAMの値はクリアされないということですね? IOレジスタですね!調べてみます。 ありがとうございます。