私はブレッドボードに簡単なPIC16F18877回路をセットアップしており、無限のwhile
ループ内でLEDを点滅させることに成功しました。私は同じコードをfor
のループ内に入れようとしましたが、ループは5回だけ実行する必要がありますが、LEDは点滅し続けます。マイクロコントローラプログラミング - ループのために終了しないプログラム
マイコード(XC8コンパイラとMPLAB):あなたはCPUがmain
からの復帰にジャンプすることを期待します
#include <xc.h>
#define _XTAL_FREQ 8000000
int main()
{
TRISD1 = 0;
for (int i = 0; i < 5; i++)
{
RD1 = 1;
__delay_ms(500);
RD1 = 0;
__delay_ms(500);
}
return 0;
}
ないだろう、確かに:「実行(メインの最後に到達した後)、コンパイラによって追加されたコードは、バックへジャンプリセットベクトル。デバイスは、ランタイムスタートアップコードとmain()関数を再度実行します。 " - 出典:http://ww1.microchip.com/downloads/en/DeviceDoc/50002173A.pdf。 – Unimportant
@最近では本当に何が本当に確実なのですか? – tofro
彼らはいつものように死と税金を持っています。 – Unimportant