平成30年度春期 エンベデッドシステムスペシャリスト試験 午前II 問3
【問題3】
8ビットの方向レジスタ及びデータレジスタで構成されるI/Oポートがあり,各ビットにLEDが一つずつ負論理で接続されている。システム起動時にLEDの不要な点灯を避けるための手続きとして,適切なものはどれか。ここで,レジスタに書き込む値は16進数で表現している。
データレジスタに00を書き込んでから,方向レジスタにFFを書き込む。
データレジスタにFFを書き込んでから,方向レジスタにFFを書き込む。
方向レジスタにFFを書き込んでから,データレジスタに00を書き込む。
方向レジスタにFFを書き込んでから,データレジスタにFFを書き込む。
【解説】
ア: データレジスタに00を書き込んでから,方向レジスタにFFを書き込む。
誤り。データレジスタに00を設定するとLEDが点灯するため,初期点灯を避けることができません。
イ: データレジスタにFFを書き込んでから,方向レジスタにFFを書き込む。
正しい。データレジスタにFFを設定することでLEDを消灯し,その後方向レジスタにFFを設定して出力モードに切り替えることで不要な点灯を避けることができます。
ウ: 方向レジスタにFFを書き込んでから,データレジスタに00を書き込む。
誤り。方向レジスタを先に設定すると,データレジスタが初期値で不定の状態で出力され,LEDが点灯する可能性があります。
エ: 方向レジスタにFFを書き込んでから,データレジスタにFFを書き込む。
誤り。方向レジスタを先に設定すると,データレジスタの初期値によって不要な点灯が発生する可能性があります。
【答え】
イ: データレジスタにFFを書き込んでから,方向レジスタにFFを書き込む。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前II 問3