#3
by みけCAT » 8年前
よく理解できていませんが、
助けてくださーい(´;ω;`) さんが書きました:複数のタイマ割り込み
助けてくださーい(´;ω;`) さんが書きました:
最初に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個のタイマ割り込みでできると思うのですが。
よく理解できていませんが、
[quote="助けてくださーい(´;ω;`)" id=3,19413,146732]複数のタイマ割り込み[/quote][quote="助けてくださーい(´;ω;`)" id=3,19413,146732]
最初に500、と300を1度だけ起動させて50と100を起動させて50が10回起動したらまた500と300を起動させることを繰り返します。[/quote]
という複雑な処理はしないといけないのですか?
[quote="助けてくださーい(´;ω;`)" id=3,19413,146732]
500usec LED点灯
300usecLED消灯
100usecLED点灯
50 usecLED消灯
を1つのLEDで表示させます。
[/quote]
というのが、LEDをこの順番でシーケンシャルに制御するということであれば、
[code=text]
// 初期化
状態 = 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
}
}
}
[/code]
という1個のタイマ割り込みでできると思うのですが。