HOME»応用情報技術者試験掲示板»平成30年春期 午後問7設問2の(1)
投稿する
平成30年春期 午後問7設問2の(1) [1274]
ミスターTさん(No.1)
。もし目的のカウント数が10のときにカウンタ値を10に設定してしまうと、10→9→8→…→0→割込み というように割込みの発生は11カウント後になってしまいます。
と説明ありますが 0になってからどうやってカウントするのでしょうか?0の次はマイナス1?
基本的なことが分からなくすいません
と説明ありますが 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から改めて減算のカウントを行っているわけではない。というのが回答になります。
たとえば、目的のカウント数とそのままカウンタ値に設定してしまうと、
カウンタ値を0になるまで減算(スレ主様の例でいえば10カウント)+カウンタ値が0になってから割込みが入るまでの1カウント分の時間が入り、
"実質"11カウント後になってしまう、ということです。
0になってからどうやってカウントするのでしょうか?という質問に対しては、
カウンタ値0から改めて減算のカウントを行っているわけではない。というのが回答になります。
2018.10.06 18:50
Rさん(No.4)
おそらく仕組みが気になっていると思いますので、補足のようなものを。
カウントダウンタイマやウォッチドッグタイマなどは、
レジスタの値を減算していき、アンダーフローした際に、割り込みをさせるためのビットが立ち、ハードウェア的に割り込みを発生させます。
(問題はカウントダウンタイマですが、カウントアップタイマもありその際はオーバーフローを利用します)
質問者さんの「マイナス1?」などはソフトウェアな考えで、
割り込みはハードウェアな考えをしなければいけません。
カウントダウンタイマやウォッチドッグタイマなどは、
レジスタの値を減算していき、アンダーフローした際に、割り込みをさせるためのビットが立ち、ハードウェア的に割り込みを発生させます。
(問題はカウントダウンタイマですが、カウントアップタイマもありその際はオーバーフローを利用します)
質問者さんの「マイナス1?」などはソフトウェアな考えで、
割り込みはハードウェアな考えをしなければいけません。
2018.10.17 16:28