dポイントプレゼントキャンペーン実施中!

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

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

PIC24FJ32GA002です。
開発環境はMPLAB v8.35
C30コンパイラー
です。

よろしくお願いします。

A 回答 (2件)

リセット時に電源を落とさないのであれば、RAMはクリアされないのでRAMのデータがそのまま使えます。


だだし、起動した時にリセットされたのか、電源を切断したのか判別する必要があります。多分IOのレジスタを調べれば判るはずです。

電源を切断するならばやはり外部にシリアルのEEPROMが必要です。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/11/02 19:21

プログラム領域を使う方法は有ります。


データシートの 「4.0 FLASH PROGRAM MEMORY」の項目を読んでください。

ただし、以下のように注意が必要です。
書き換え回数が1万回です。EEPROMは100万回ですから1/100の回数です。
書き込みは64命令(192バイト)単位になります。
書き込む前には512命令(1536バイト)を消去する必要があります。
つまり1536バイトがプログラム用に使用できなくなります。

1536バイトの内1バイトだけ書き変えようとすると最初に1536バイトをRAMに読み込んでおいてから書き戻す必要があります。
    • good
    • 1
この回答へのお礼

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

ありがとうございます。

お礼日時:2010/11/02 19:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!