令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問11
この問題は2023(R5)秋 エンベデッドシステムスペシャリスト 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
表のインターバルタイマーを用いて約 20ミリ秒ごとにタイマー割込みを発生させたい。16ビットタイマーコンペアレジスタに設定する値は 10進数で幾つか。ここで,システムクロックは 32 MHzとする。

図の説明テキスト
| 項目 | 説明 |
|---|---|
| タイマークロック | システムクロックを 32 分周したもの |
| 16 ビットタイマーカウンター | タイマークロックの立ち上がりに同期してインクリメントされる。16 ビットタイマーコンペアレジスタからの初期化指示があると0で初期化される。 |
| 16 ビットタイマーコンペアレジスタ | 設定された値と 16 ビットタイマーカウンターの値が一致すると、タイマー割込みを発生し、16 ビットタイマーカウンターに初期化指示を出す。 |
解答・解説を読む
正解: 選択肢エ
インターバルタイマーの割込み周期から、コンペアレジスタに設定すべき値を計算する問題です。
問題文にある「表のインターバルタイマー」の仕様として、一般的にシステムクロックを特定の分周比(この問題の典型例では 分周)で割ったクロックをカウント源とします。この前提に立って計算を行います。
タイマーのカウント周期の算出
システムクロックは です。これを 分周すると、タイマーに入力される動作クロックの周波数は以下のようになります。
周波数 のクロック周期( カウントにかかる時間)は、 となります。20ミリ秒に必要なカウント数の算出
目的の割込み周期である は、 に相当します。
カウントあたり かかるため、 経過するためには 回のカウントが必要です。コンペアレジスタ設定値の決定
タイマーカウンタは からカウントを開始 してコンペアレジスタの値と一致した時点で割込みを発生させ、再び に戻る仕様が一般的です。
そのため、 回のカウントで割込みを発生させるには、設定値から を引いた値をコンペアレジスタに設定する必要があります。
したがって、 進数で設定する値は 19,999 となります。
各選択肢の解説
- ア (1): から までの 回のカウントとなり、 ごとに割込みが発生する誤った設定です。
- イ (19): から までの 回のカウントとなり、 ごとに割込みが発生します。ミリ()とマイクロ()の単位を混同した場合に選びやすい誤答です。
- ウ (1,999): 回のカウントとなり、 ごとに割込みが発生する設定です。必要なカウント数の桁を つ間違えた場合の誤答です。
- エ (19,999): 正解です。 回のカウントとなり、要件通り ごとにタイマー割込みが発生します。