組込み・ファームウェア

16 MHzのクロックをプリスケーラで16分周したものでタイマを数え、1000カウントごとに割り込みを起こす設定にした。割り込みの間隔はいくらか。

  1. A1 µs
  2. B1 ms
  3. C16 ms
答えと解説を見る

正解:B. 1 ms

16 MHzを16で分けるとタイマのクロックは1 MHzで、1カウントは1 µsです。1000カウントごとなら1 µs×1000=1 msの間隔になります。プリスケーラは、速すぎるクロックを分周してタイマが数えられる範囲に合わせるためのものです。1 msごとの割り込みは、時間の管理やスイッチの読み取り、RTOSの時間の刻みなどによく使われます。

  • A. 1 µsは1カウントの時間です。
  • B. 正しい。1 µs×1000=1 msです。
  • C. 16で掛けるのではなく割ります。
この分野を解く 分野ページへ

組込み・ファームウェアのほかの問題

  1. 周期が1000カウントのPWM信号で、1周期のうち250カウントの間だけ出力を1(High)にしている。デューティ比はいくらか。
  2. マイコンでLEDの明るさやモーターの回転の速さを調整するのによく使われる方法はどれか。
  3. マイコンのタイマのインプットキャプチャ機能の用途として正しいものはどれか。
  4. 割り込みハンドラの中で避けるべきこととして最も適切なものはどれか。
  5. 上のプログラムを最適化を有効にしてコンパイルすると、タイマ割り込みが起きてもled_on()が呼ばれないことがある。原因と対策の組み合わせとして正しいものはどれか。