トップページ > 電気・電子 > 2018年02月17日 > Nh6q+2d1

書き込み順位&時間帯一覧

22 位/141 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000100010000002



使用した名前一覧書き込んだスレッド一覧
774ワット発電中さん
初めてのPIC 0x0e

書き込みレス一覧

初めてのPIC 0x0e
36 :774ワット発電中さん[sage]:2018/02/17(土) 13:29:53.78 ID:Nh6q+2d1
>>32
素直にプログラムを書けば、割込み関連のフラグのセット/リセットでそんなに悩む事は無いと思うけどナ。
割込み要求フラグの大原則は
「割込みを使えば自動的にリセットされ、使わないときは自分でリセットする」
です。

通信ハードエラー(フレーミング、オーバーラン、パリティ)発生フラグに関しては、
受信完了フラグが立ったら、通信エラーフラグが立っていないかどうかをチェックし、
立っていれば必要なエラー回復処理を行う。
立っていなければ受信データを読み取って処理する。
かな。

割込み開始時に、すでに割込み要求が発生しているなら(例えば通信でデータを受信済みなら)、
そのデータを捨てるか取り込むかはプログラムの仕様次第です。
不要なら要求フラグをクリアしてから割込みを許可します。
初めてのPIC 0x0e
42 :774ワット発電中さん[sage]:2018/02/17(土) 17:55:57.31 ID:Nh6q+2d1
>>39
「割込みを使えば」とは
割込み処理ルーチンを書き、割込みを許可して、発生した処理要求(例えばUARTの1バイト受信など)を
割込み処理ルーチンで処理することです。
UART受信割込み要求フラグはCPUが割込み受付け時に自動的にリセットします。

「割込みを使わない」場合
割込みを使わないときは、1バイト受信フラグ(UART受信割込み要求フラグ)を
必要に応じてプログラマがチェックし(これをポーリングと言います)、
オンになっていれば必要な処理を行います。
受信割込み要求フラグはプログラマが適切にリセットしなければいけません。

なお、CPUによってはハードウェアで(プログラムの介在無しで)入出力処理が可能です(DMA)
で、ここで細かく聞くよりも >>40 の言うように実践を!


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。