平成26年度春期 エンベデッドシステムスペシャリスト試験 午前II 問15
【問題15】
表のインターバルタイマを用いて約20ミリ秒ごとにタイマ割込みを発生させたいとき,16ビットタイマコンペアレジスタに設定する値は10進数で幾つか。ここで,システムクロックは32MHzとする。
【解説】
1. システムクロックをタイマクロックに変換する
システムクロックは32MHzであり、タイマクロックは「システムクロックを32分周したもの」と記載されているため、タイマクロックは次のようになります:
32,000,000 ÷ 32 = 1,000,000 Hz(1MHz)。
2. タイマクロック周期の計算
タイマクロックの周期は次のようになります:
1 ÷ 1,000,000 = 0.000001秒(1マイクロ秒)。
3. 目標のカウント値を計算する
約20ミリ秒ごとにタイマ割込みを発生させるためには、20ミリ秒(0.02秒)の間にカウントされるクロック数を求めます:
0.02 ÷ 0.000001 = 20,000。
4. 16ビットタイマコンペアレジスタに設定する値
タイマカウンタは0からカウントを始めるため、コンペアレジスタに設定する値は「目標のカウント値 – 1」となります。
したがって、設定値は次のようになります:
20,000 – 1 = 19,999。
出典:平成26年度 春期 エンベデッドシステムスペシャリスト試験 午前II 問15