PIC16F57を使用してカウントを7seg表示器に表示するプログラムを作成し、
表示させています。ところが一定の値を超えるとPICがリセットされカウント値が0に
なりました。
試しにMALAB上でプログラムを簡素にしたものをシュミレーションした所、
やはりリセットが掛かるようです。
下記、コードで
signed int count = 0;
にブレイクポイントを設定すると、while文を抜けて来てブレークします。
whileループ中に何かが有り、リセットされて再度プログラムを頭から実行していると思います。
この時のカウントの数値は584でした。直前の583でブレークしてモニタしようとしたら、
ブレークポイントが無効になり出来ませんでした。
原因・理由が分かりません。どなたか教えて頂けないでしょうか。
#include <xc.h> #define _XTAL_FREQ 16384000 void main(void) { signed int count = 0; // カウント用 signed int dispCount = 0; // 演算用 unsigned int testTim = 0; int index = 0; while(1) { dispCount = count; while(dispCount > 0) { index = dispCount % 10; dispCount /= 10;![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-02-07/a559bd53-8b09-4688-91bf-325603c06fd7.png) } count++; if(count>32000){ count = 0; } if(count == 583){ count = count; } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/07 11:44