過去問解きまくり研究所 ホーム

平成26年度 春期 午前Ⅱ 問15

ハードウェア

タイマに関する問題

表のインターバルタイマを用いて約20ミリ秒ごとにタイマ割込みを発生させたいとき,16ビットタイマコンペアレジスタに設定する値は10進数で幾つか。ここで,システムクロックは32MHzとする。

項目説明
タイマクロックシステムクロックを32分周したもの
16ビットタイマカウンタタイマクロックの立ち上がりに同期してインクリメントされる。16ビットタイマコンペアレジスタからの初期化指示があると0で初期化される。
16ビットタイマコンペアレジスタ設定された値と16ビットタイマカウンタ値が一致するとタイマ割込みを発生し,16ビットタイマカウンタに初期化指示を出す。
答えと解説を見る

✓ これが正解エ19,999

解説

1マイクロ秒単位で20,000カウント。0から数えるので19,999です。

タイマクロックはシステムクロック32MHzを32分周したものなので、32MHz÷32=1MHz、つまりカウンタは1マイクロ秒ごとに1増えます。20ミリ秒は20,000マイクロ秒なので、割込みの間隔を20,000カウント分にすればよいことになります。カウンタは0から数え始め、コンペアレジスタの値と一致すると割込みを出して0に戻ります。0から19,999までの状態は20,000通りあるので、設定値を19,999にすると、20,000カウントごとに割込みが発生します。0から数える仕組みでは、欲しいカウント数から1を引いた値を設定する、と押さえると見分けられます。

ほかの選択肢はなぜ違うのか

出典:平成26年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問15

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)