
マイコンのメインルーチン内でwhile(1)文を用いてループしたとき、正常な動作をしない事があります。
使用しているマイコンはAVRです。
具体的には
各種インクルードファイル
int temp =0;
//tempはタイマー割り込みによって加算される
int main (void)
{
初期設定
while(1)
{
if (temp >= 50)
{
全割り込み禁止
LED出力トグル
temp =0;
全割り込み許可
}
}
}
と記述するとwhileループ内のif分岐がうまく処理されない事があります。
この時whileループ内に1usのdelayを入れると正常に動作します。
具体的には
int main (void)
{
初期設定
while(1)
{
if (temp >= 50)
{
全割り込み禁止
LED出力トグル
temp =0;
全割り込み許可
}
_delay_us(1);
}
}
のように記述すれば問題なく動きます。
このような症状の原因としては何が考えられますでしょうか?
No.2ベストアンサー
- 回答日時:
割り込みで値が変化する場合、
コンパイラにそれを教えないといけません。
volatile int temp =0;
にしてみては?
変数temp にvolatileをつけてみたところ、delayなしでも正常に動作するようになりました。
的確なご回答を頂きましてありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- その他(プログラミング・Web制作) 全然分からず困っています。習ったものはPythonで基本的に for~in/if/n=len/inp 2 2023/05/23 21:47
- その他(プログラミング・Web制作) 全然分からず困っています。習ったものはPythonで基本的に for~in/if/n=len/inp 2 2023/05/23 22:00
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C-Builder OnChangeをマスク
-
PICマイコンでエンコーダパルス...
-
割り込みについて
-
コールバック関数について
-
VB6でSendKeyを利用したTab移動...
-
H8/36037 CCRの設定方法
-
マイコンのメインルーチン内でw...
-
C言語について(PWM)
-
このレジの並び方は間違ってま...
-
【組込み】割り込み中のstatic...
-
PICマイコン 割り込み実行時間...
-
ウォッチドッグタイマ(WDT)の...
-
Macターミナルで実行中のプログ...
-
トラックバック機能を作りたい
-
バックグラウンドのプロセスの...
-
VC++ 6.0 のソケット通信について
-
TCP/IP通信時のサーバーからの受信
-
ACCESS側からEXCELの書式を設定...
-
アセンブリ言語の問題
-
POSTデータが送信されなくなり...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
電車で待機列の割り込みについ...
-
スーパーのレジで並んでいたら...
-
CPU負荷率の安全な上限と計...
-
マイコン C言語 割り込み処理...
-
このレジの並び方は間違ってま...
-
USB機器からのデータ受信による...
-
【組込み】割り込み中のstatic...
-
VB6でSendKeyを利用したTab移動...
-
一定時間操作がなかったら、と...
-
VB.NET スレッドからのイベント...
-
irqbalance って
-
ウォッチドッグタイマ(WDT)の...
-
Timerコントロールによる動作の...
-
pic 複数の割り込み関数 切り分...
-
マイコンSH-2の割り込みを用い...
-
Amazonfireタブレットにわから...
-
STATUSのZフラグについて
-
マイコンの割り込みについて教...
-
Timerコンポーネントのインター...
-
電車乗車時、並んでいるのに割...
おすすめ情報