• ベストアンサー

PICマイコンで変数値の保持

PICマイコンで変数値の保持 PICマイコンでリセット時にリセット前の変数の値を1,2個保持して リセット後に用いたいのですが、なにかいい方法はありませんか? EEPROMは搭載してません。 また外部接続のパーツを増やさないのが望ましいです。 データ領域をうまく使う方法がありますかね? PIC24FJ32GA002です。 開発環境はMPLAB v8.35 C30コンパイラー です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

リセット時に電源を落とさないのであれば、RAMはクリアされないのでRAMのデータがそのまま使えます。 だだし、起動した時にリセットされたのか、電源を切断したのか判別する必要があります。多分IOのレジスタを調べれば判るはずです。 電源を切断するならばやはり外部にシリアルのEEPROMが必要です。

kyohei0922
質問者

お礼

初期化さえしなければ、RAMの値はクリアされないということですね? IOレジスタですね!調べてみます。 ありがとうございます。

その他の回答 (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に読み込んでおいてから書き戻す必要があります。

kyohei0922
質問者

お礼

プログラム領域を使う方法があるんですね。 512命令を消去というのはプログラム領域を使う場合ですか? データシート見てみます。 ありがとうございます。

関連するQ&A