ページ 1 / 1
複数のタイマ割り込み
Posted: 2017年7月21日(金) 21:41
by 助けてくださーい(´;ω;`)
コンペアマッチを用いた割り込みについて質問です。
500usec LED点灯
300usecLED消灯
100usecLED点灯
50 usecLED消灯
を1つのLEDで表示させます。
最初に500、と300を1度だけ起動させて50と100を起動させて50が10回起動したらまた500と300を起動させることを繰り返します。
どのようなプログラムとなりますか?
Re: 複数のタイマ割り込み
Posted: 2017年7月21日(金) 22:17
by shira211
すいません 質問の意味が全く理解できません、、、
500とか50usなどの時間とLEDの動作の関係、あるいは時間の経過に伴ってLEDがどう動くのかをもっと詳しく説明できますか?
Re: 複数のタイマ割り込み
Posted: 2017年7月21日(金) 22:30
by みけCAT
よく理解できていませんが、
助けてくださーい(´;ω;`) さんが書きました:複数のタイマ割り込み
助けてくださーい(´;ω;`) さんが書きました:
最初に500、と300を1度だけ起動させて50と100を起動させて50が10回起動したらまた500と300を起動させることを繰り返します。
という複雑な処理はしないといけないのですか?
助けてくださーい(´;ω;`) さんが書きました:
500usec LED点灯
300usecLED消灯
100usecLED点灯
50 usecLED消灯
を1つのLEDで表示させます。
というのが、LEDをこの順番でシーケンシャルに制御するということであれば、
コード:
// 初期化
状態 = 0
カウンタ = 1 // 1で初期化することで、最初の割り込みで0になって処理が進む
50usec周期のタイマー割り込み {
カウンタ = カウンタ - 1
if (カウンタ == 0) {
if (状態 == 0) {
LED点灯
カウンタ = 10
状態 = 1
} else if (状態 == 1) {
LED消灯
カウンタ = 6
状態 = 2
} else if (状態 == 2) {
LED点灯
カウンタ = 2
状態 = 3
} else {
LED消灯
カウンタ = 1
状態 = 0
}
}
}
という1個のタイマ割り込みでできると思うのですが。
Re: 複数のタイマ割り込み
Posted: 2017年7月22日(土) 21:45
by 助けてくださーい(´;ω;`)
ありがとうございます