制御系なら俺に聞いてもいいぜ(8)at TECH
制御系なら俺に聞いてもいいぜ(8) - 暇つぶし2ch285:デフォルトの名無しさん
06/01/20 05:02:14
>>283 タスクと割り込みとでは共通の変数は極力持たないようにするのが一般的。
どうしても必要な場合は、タスク側が最小限の時間に限って割り込み禁止を使う。

典型的な例ね:受信文字カウンタnを、受信割込み処理で++、タスクが受信文字を取り出したら
--する、なんて状況で、タスクがn--するときに割込みが起きたとする。
n--ってのはreg<--n, reg--, reg-->nという機械語になるが、この2つのカンマのところで
割り込むと、レジスタ保存、割込み処理でreg<--n, reg++, reg-->nして、割り込んだ所へ戻る。
その後3番目のreg-->nが実行されると、割り込みで++した結果が失われる。これを避ける為に
タスク側は、割り込み禁止;n--;割込み許可;のように書く。この位なら待たせても割り込み
処理の遅れは許容できる。あまり長い処理を割り込み禁止で実行したりするのは顰蹙もの。
=割込み処理というのは、例えば9.6Kbpsの受信なら1mS以上遅れてはならないとかの
物理的制約があるのがふつうだから。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch