質問: picでのi2c通信でのマスタ、スレーブの切り替え 現在pic18f2550同士で、i2c通信を行いたくアセンブラでプログラミングをしておりますが、教えていただきたい点があります。 ・マスターとスレーブは動作中に入れ替えることはできないのでしょうか? rs等から任意の信号を与えると、マスタとスレーブが切り替わるようなことがしたいのですが、どの書籍をみてもそのような事ができるとは書いてなく困っております。 ・picだけでなくi2c通信を行うことのできるマイコンorcpu(プログラミングが簡単で高速動作できる)はあるのでしょうか?あればお教えいただきたいです。 以上よろしくお願いいたします。
回答: >・マスターとスレーブは動作中に入れ替えることはできないのでしょうか? 何のために入れ替える必要があるかは疑問ですが、マスタがスレーブに対して入れ替えを要求する形にすれば大丈夫じゃないでしょうか? マスタとスレーブがstop状態にあるときに入れ替えれると思います。 >rs等から任意の信号を与えると、マスタとスレーブが切り替わるようなことがしたいのですが、どの書籍をみてもそのような事ができるとは書いてなく困っております。 rsって何の略号でしょう?rs232cですかね? 結線を考える限りどちらがマスタでもかまわないハード仕様ですので、同時にマスタ化やスレーブ化しないように制御が出来れば問題ないと思いますので可能だと思いますが、rs232cに接続されいていない側のマイコンをマスタにするとマスタとスレーブの入れ変えは面倒な手続きになると思いますが。 >・picだけでなくi2c通信を行うことのできるマイコンorcpu(プログラミングが簡単で高速動作できる)はあるのでしょうか?あればお教えいただきたいです。 たいていのワンチップマイコンは、全てのバリエーションではないですがi2cをサポートしています。 8bitならavr、16bitならdspicやr8c、32bitならarm7のlpc2214やsh2の7144fなどです。 16bitや32biのマイコンを使えば、高速でc言語とライブラリでi2cのプログラムは楽に組めると思いますが、どこまでの速度を出したいのか?コストパフォーマンスは気にしなくて良いのか?消費電力は何mwまで良いのか?コンパイラの値段は有料でも良いのか?など条件を決めないと推薦のしようが無いです。