※ ChatGPTを利用し、要約された質問です(原文:PIC mainループについて)
PIC mainループでRAMの値がクリアされる問題について
このQ&Aのポイント
PICマイコン+PICKit3で作成したプログラムにおいて、mainプログラムが頭に戻ってくるとRAMの値がクリアされる問題が発生しました。
RAMの値を使用して表示を切り替える予定だったため、問題になりましたが、方法を変えて対応しました。
調査の結果、mainプログラムが頭に戻ってきた時にはstartup.asmのファイルを通り、RAMの値がクリアされることが分かりました。RAMの値を残したい場合にはどうすればよいかについても調査しました。
PICマイコン+PICKit3で簡単なプログラムを作成して遊んでいるのですが、
ふと疑問に思ったことがあるので、質問します。
プログラムは2種類の値を用意し、スイッチの入力を見て片方をLCDに表示するといった
簡単なものですが、デバッグ中にmainプログラムの最終行まで実行した後、
再度mainプログラムの頭に戻ったとき、RAMの値がすべてクリアされている
ことに気が付きました。
当初の目論見ではRAMの値を使用して表示を切り替えるつもりだったので、少し困りましたが、
方法を変えて完成させました。少し調べてみると、mainプログラムが頭に戻ってきた時、startup.asm
のファイルを通り、RAMの値をクリアしていることが分かりました。
そこで質問なのですが、mainプログラムが頭に戻ってくるとRAMの値は必ずクリアされてしまう
ものなのでしょうか?そうだとすると、RAMの値を残したい場合はどうすれば良いのでしょうか?
ちなみにコンパイラはHITEC PICC-18です。