差分表示

  • 最後の更新で追加された行はこのように表示します。
  • 最後の更新で削除された行はこのように表示します。

Why are (many) interrupt flags cleared by writing a logical 1?
http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_intbits

-1命令で済む
-read-modify-writeはatomicな操作ではないから、その間に割り込みが入って、フラグが変化する可能性がある。そうすると、今立ったばかりのフラグを誤ってクリアしてしまうことになる(?)
*Why are (many) interrupt flags cleared by writing a logical 1?

http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_intbits



-1命令で済む

-read-modify-writeはatomicな操作ではないから、その間に割り込みが入って、フラグが変化する可能性がある。そうすると、今立ったばかりのフラグを誤ってクリアしてしまうことになる(?)



*割り込み許可する前にはフラグクリアを忘れずに

タイマとか、裏で動いてすでに条件を満たしてると、許可した瞬間に割り込みが来る