うつからの脱出 

日々の徒然なる思い、その他興味あることを書いています。

何をしていたんだろう…

2006-04-15 03:46:27 | こころ
I2Cバス接続のEEPROMがうまくリード/ライトできない。

オシロスコープで波形を見ると、期待した波形が出てないので、とりあえずデータラインを切り離してマイコンの入出力ラインを見てみた。

クロックと出力波形の関係がおかしい。
ICEを変えても、デバッガのソフトを再インストールするも同じ現象。

試しに違うチャンネルのプローブで触ってみるとちゃんと出ていた。
最近のオシロの使い方って難しいなあ_| ̄|○

同じ出力を見ても波形がずれているので、何かのキャリブレーションをいじってしまったのだと思う。

オシロの設定をイニシャライズしたら、正常に戻った。
そんなこんなで半日以上を消費してしまった…

シリアル通信はなかなか手ごわい。
クロックの立ち上がりでデータを取り込み、立下りでデータを出す。
9ビット目にACKと言う信号を受けてのデバイスが出力する。

それをある時は受信側に、ある時は送信側になったりするので混乱してしまう。

連続ライト・連続リードをやろうとしたが、1バイトしか正常に読めだせなかった。

延々とエディタで修正→コンパイル→デバッガで実行→ブロックポイントで波形とメモリマップの観察の繰り返し…

考えが煮詰まると抜け出せなくなる。
データを変えることしかできなかったが、アドレスを変えてやってみるのも一つの手だった。

連続リード・ライトにこだわらなくても、一回一回リード・ライトしてみても良かった。

無駄な時間の消費…

後で思い返せば、もっと効率的に仕事できたのにと思う。

でも、21時半で終えてうちに帰ったら、野球が延長していたおかげでクロサギを見ることができた♪

金曜の夜のささやかな喜び。

明日は診察日。もう寝ないと。オヤスミナサイ…