エンベデッドシステムスペシャリスト試験 令和4年度 秋期 午前II 問2
マイコンと、表に示す二つのセンサーとをI²Cで接続した。センサーからマイコンへのデータの読込みは、センサーアドレス、内部アドレス、センサーアドレスの順にアドレスを送信した後に行う。最初のセンサーアドレスは対象センサーアドレスを左に1ビットシフトして、LSBを0にしたものであり、二つ目のセンサーアドレスは対象センサーアドレスを左に1ビットシフトしてLSBを1にしたものである。4A、01、4Bの順にアドレスを送信したときにマイコンに読み込まれるデータはどれか。ここで、リスタートコンディションは自動的に行われるものとし、アドレスは16進数表記である。

選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ウ
最初に送信する4Aは、対象センサーを選択して内部アドレスを書き込むための値です。LSBが0なので書込みを表し、7ビットのセンサーアドレスは、4Aを右に1ビットシフトして求めます。
4A÷2=25(16進数)
したがって、表からセンサーアドレス25のジャイロセンサーが選択されます。続く内部アドレスは01なので、読み出す対象はY軸角速度です。最後の4Bは、25を左に1ビットシフトした4AのLSBを1にした値であり、同じジャイロセンサーに対する読込みを表します。よって、読み込まれるデータはY軸角速度であり、ウが正解です。
アのX軸角速度は誤りです。これはジャイロセンサーの内部アドレス00に格納されているデータであり、指定された01には対応しません。
イのX軸加速度は誤りです。これはセンサーアドレス2A、内部アドレス00のデータです。2Aの加速度センサーを選ぶ最初の送信値は54になります。
エのY軸加速度は誤りです。内部アドレス01という点は一致しますが、これはセンサーアドレス2Aのデータです。加速度センサーの読込み時には、最後の送信値は55になります。
【ポイント】 ・I²Cでは、7ビットのスレーブアドレスを1ビット左へずらし、LSBで書込みの0と読込みの1を指定します。 ・内部アドレスは、選択したセンサー内のどのレジスタを読むかを指定します。 ・16進数では、25を左に1ビットシフトすると4Aになります。
出典:令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問2
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる