HOME»応用情報技術者試験掲示板»平成30年春期 午後問7設問2の(1)
投稿する

[1274] 平成30年春期 午後問7設問2の(1)

 ミスターTさん(No.1) 
。もし目的のカウント数が10のときにカウンタ値を10に設定してしまうと、10→9→8→…→0→割込み というように割込みの発生は11カウント後になってしまいます。

と説明ありますが  0になってからどうやってカウントするのでしょうか?0の次はマイナス1?
基本的なことが分からなくすいません
2018.10.06 07:09
iotさん(No.2) 
カウンタ値が、0になって割り込みが発生した後は、再びカウンタ値に10がセットされ、もう一度同じ周期でカウントが開始すると思います。
2018.10.06 13:18
さん(No.3) 
問題文中には「カウント値が0になった次のカウントクロックで割込みを発生させる。」との記載があります。

たとえば、目的のカウント数とそのままカウンタ値に設定してしまうと、
カウンタ値を0になるまで減算(スレ主様の例でいえば10カウント)+カウンタ値が0になってから割込みが入るまでの1カウント分の時間が入り、
"実質"11カウント後になってしまう、ということです。

0になってからどうやってカウントするのでしょうか?という質問に対しては、
カウンタ値0から改めて減算のカウントを行っているわけではない。というのが回答になります。
2018.10.06 18:50
Rさん(No.4) 
おそらく仕組みが気になっていると思いますので、補足のようなものを。

カウントダウンタイマやウォッチドッグタイマなどは、
レジスタの値を減算していき、アンダーフローした際に、割り込みをさせるためのビットが立ち、ハードウェア的に割り込みを発生させます。
(問題はカウントダウンタイマですが、カウントアップタイマもありその際はオーバーフローを利用します)

質問者さんの「マイナス1?」などはソフトウェアな考えで、
割り込みはハードウェアな考えをしなければいけません。
2018.10.17 16:28

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop