回答編集履歴

1

追記

2016/04/08 19:37

投稿

ItoTomonori
ItoTomonori

スコア1283

test CHANGED
@@ -31,3 +31,13 @@
31
31
 
32
32
 
33
33
  すいません、直接的な解決につながらない投稿ですが、お許しください。
34
+
35
+
36
+
37
+ P.S.
38
+
39
+ ちなみに、I2C通信のレジスタ状態を、デバッガーで、ブレークなどをして見ているとの事ですが、その方法では、スレーブ側が、マスタ応答がない(ACKが待ち時間以内に戻らないなと)などと判断して、途中で通信をやめてしまったり、以降通信不能などになる可能性があります(どの程度まで通信速度を落とせる(待ってくれる)かはデータシートをみないとわかりませんが)。
40
+
41
+ なので、ブレーク位置でレジスタの値がかわってしまったという現象は、実際何が原因かははっきりできないかと思います。
42
+
43
+ このあたりは、緩い規格のSPI(SPIはクロックださなければ、延々とまってくれるデバイスもあったり、まあこれもデバイス次第ですが・・・)とは、だいぶ違います。