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

令和5年度 秋期 午前Ⅱ 問11

ハードウェア

割込みに関する問題

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

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

✓ これが正解エ19,999

解説

1マイクロ秒のカウントを2万回で20ミリ秒、設定値は19,999です。

タイマークロックはシステムクロック32MHzを32分周したものなので、32MHz÷32=1MHz、1カウントは1マイクロ秒です。20ミリ秒は20,000マイクロ秒なので、20,000カウントごとに割込みを起こせばよいことになります。カウンターは0から数え始め、コンペアレジスタの値と一致した時点で割込みを出して0に戻ります。設定値を N とすると、0から N までの N+1 カウントで1周期になるため、N+1=20,000 から N=19,999 です。インターバルタイマーの設定値は、0から数え始めて一致で0に戻る仕組みなら、必要なカウント数から1を引く、と覚えておくと計算を誤りません。

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

出典:令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問11

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