修了試験 2026-06-14実施分 基本情報技術者試験 問9
1MHzのクロックでカウントアップする16ビットタイマーを用いて,パルスの幅を測定する。 パルスの立上がり時のタイマー値が100,立下がり時のタイマー値が5,000で,立上がりから立下がりまでの間に1度だけタイマーがオーバーフローした。 このとき,立上がりから立下がりまでのパルス幅は何ミリ秒か。
正答3
解説
正解は3です。 1MHzのクロックでカウントアップするタイマーは、1カウントが1マイクロ秒に相当します。 16ビットタイマーは0から65,535まで数え、65,536カウントで0に戻る(オーバーフローする)ので、1回のオーバーフローは65,536カウント分の経過を意味します。 【計算】 1カウントの時間は、1÷(1×10^6Hz)=1マイクロ秒です。 立上がりの100から、オーバーフローするまでは 65,536-100=65,436 カウントです。 オーバーフロー後の0から立下がりの5,000までは 5,000 カウントです。 合計は 65,436+5,000=70,436 カウントです。 70,436マイクロ秒=70.436ミリ秒です。 【選択肢別解説】 1:× 4.900ミリ秒は、5,000-100=4,900カウントとして、オーバーフローを考慮しなかった値です。 2:× 60.636ミリ秒は、65,536-5,000+100=60,636 のように、立上がりと立下がりの値を逆に扱った値です。 3:○ オーバーフロー1回分の65,536カウントを加えて計算すると、70.436ミリ秒になります。 4:× 135.972ミリ秒は、65,536×2+4,900=135,972 のように、オーバーフローを2回分加えた値です。 【ポイント】 オーバーフローがあるときのパルス幅は「立下がり値-立上がり値+2^ビット数×オーバーフロー回数」で求めます。 本問では 5,000-100+65,536=70,436 となります。まとめて解く
修了試験 2026-06-14実施分を通しで解く(60問)→