組込み・ファームウェア

同じ型番のI2Cの温度センサを2つ、同じI2Cの線につなぎたいが、どちらも同じアドレスを持っている。対策として正しいものはどれか。

  1. Aそのままつなげば、マイコンが自動で区別してくれる
  2. BSDAとSCLの線を入れ替えてつなぐ
  3. Cアドレス設定用の端子で片方のアドレスを変えるか、別のI2Cの線に分けてつなぐ
答えと解説を見る

正解:C. アドレス設定用の端子で片方のアドレスを変えるか、別のI2Cの線に分けてつなぐ

I2Cではアドレスで相手を選ぶので、同じアドレスの機器が2つあると、両方が同時に応答して通信が壊れます。多くの部品は、端子を電源やグラウンドにつなぐことでアドレスの一部を変えられるようになっています。変えられない場合は、マイコンの別のI2Cの周辺回路を使うか、I2Cの線を切り替える部品(マルチプレクサ)で分けてつなぎます。

  • A. 同じアドレスでは、2つが同時に応答してしまいます。
  • B. 線を入れ替えると通信できなくなります。
  • C. 正しい。アドレスが重ならないようにする必要があります。
この分野を解く 分野ページへ

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

  1. UART・SPI・I2Cを比べた説明として正しいものはどれか。
  2. 周辺回路の状態を知る方法のうち、ポーリングと割り込みの違いとして正しいものはどれか。
  3. OSを使わないマイコンのプログラムでよく見られる「スーパーループ」の構成の説明として正しいものはどれか。
  4. 組込み機器でRTOS(リアルタイムOS)を使う主な目的はどれか。
  5. プリエンプティブなRTOSで、優先度の低いタスクの実行中に、優先度の高いタスクが待っていたデータを受け取って実行できる状態になった。一般にどうなるか。