はじめまして、ZKと申します。
SH7214・7216のハードウェアマニュアルにて、マスタ送信動作、マスタ受信動作いずれも
送受信手順と動作を示しますの最後に(19.4.2、19.4.3)
「スレーブ受信モードに戻します」
とあるのですが、SHを単独マスタで動作させる場合にも、スレーブ受信に戻す必要があるのでしょうか。
はじめてI2Cを使用してデバイスを駆動するのですがI2C制御に詳しく無く、教えていただければと思います。
チョコです。
SHは、使ったこともマニュアルも見たこともありませんが、I2CバスはRL78でよく使っています。
SHがなぜそのような記述になっているかは、SHのハードウェアに何らかの制限があるかどうかは分かりませんが、I2Cバスの使い方として、シングル・マスタでは通信完了後にスレーブに設定する必要はありません。
以上
私はデータシートに書かれている通りにスレーブに戻せば良いのでは?と思います。それがメーカーの想定していて、正しく動作する確認が済んでいる使い方だとすればこのやり方に何か理由が潜んでいる可能性があります。もし、記載の方法以外で実装して、それでトラブルになるくらいならメーカーが指定している方法を取る方が安全だと思います。特段、モードを切り替えて大きな性能低下があるとかも無いでしょうし。なお私がちょっとデータシートを見た理解が正しければTDREビットのセット条件の1つにスレーブモードがあるのでそれが理由かもしれません。
早速の返答いただきありがとうございました。
I2C初心者ですが、いちいちスレーブに戻すというような制限は無さそうでしたので、確認させていただきました。
下の方が書かれているように、ルネサス推奨の使用方法がスレーブに戻すということなので、最終的にはそうするつもりですが、I2Cバスの使い方自体よく分かっていないので勉強になりました。ありがとうございました。
早速のご返答ありがとうございます。
たしかに、あえて、推奨の使用方法とは違うことをする必要性も無いので、一度スレーブに戻すようにしようと思います。