Darkside(リンクエラー修正しました)

2018年07月11日の記事

2018年7月11日(水) 21:14

ノイローゼ

 いや、それはおかしいだろ。ということに気付いた。
 I2Cバスはプルアップされているから、常時Hから動かないというなら分かる。常時Lというのは、おかしい。

 オシロのトリガーをワンショットで仕掛け、電源ONから待ち受ける。
 すると、LからHに向かってダラダラと立ち上がる波形が得られた。立ち上がりの途中でクロック信号らしきものが半周期だけ見える。幅は、ほぼ100KHzに相当している。


 3.3V近くまで上昇してから一気にLになって、その後はずっとLのままだ。これだけでは、手掛かりが少な過ぎる。


 

 これはハードがバグってる可能性がある。そう考えてチェックするが、怪しい部分は発見できない。
 例によってデーターシート見つつソフトの設定を変えてみるが、やはり変わらない。半周期だけのクロックパルスが出なくなったりするが。

 まるで訳が分からず、久しぶりに夢の中でデバッグしてしまった。かなり精神に来てる。やっぱI2Cは厄介者だった。
 夢の中では不完全に液晶表示が成功したが、現実世界には何の解決にもなっていない。

 dsPICにおけるI2Cなどのペリフェラルの扱いは、

1)Cコンパイラーのライブラリとして実装
 ↓
2)Cコンパイラーの別ライブラリーとして提供
 ↓
3)MCCに統合

 と変化しているうえに、1)はコンパイラー自体がC30からXC16に変わっている。更に、dsPIC33F は3)のMCCに未対応だ。こういった事情のため、ネット上に存在するプログラム例の大半が使えない。ただでさえ、dsPIC で I2C を扱っている実例が非常に少ない。

written by higashino [ドリル戦車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL
Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4