Posted inマイコン
小ネタ:フラグを8秒間保持
あるイベントが起きたら、フラグを最後のイベントから一定時間だけ(たとえば8秒)立てておきたいとき、下のようなコードだとちょっとだめです
---------- volatile uint8_t flag; ISR(TIMER0_OVF_vect) // 割り込みは8秒おき { flag = 0; } int main() { while (1) { if (check_event()) { flag = 1; } } } ----------
これだと、割り込みハンドラでクリアするフラグが、8秒前に立ったものか1秒前に立ったものか区別つかないからです。