« I2Cの仕様書の日本語バージョン???? | トップページ | LPFやってみたが・・ »

2010年11月16日 (火)

簡単なミスほど見つかりにくく時間がかかる!?

PSoCでのADCのデーターをI2C通信でArduinoに送って液晶に表示させようとしたら、80035とか   -2405とか出たのであります(アラビックリ!!)。
なぜかを簡潔にいうと
バグその①PSoCのADCのデーターは12ビットの場合「-2048 ~ +2047」で表される。だからそのまま使うとマイナスが出るのは当たり前。
このバグはまだ納得できるのですが・・・
バグその②液晶でいちいちクリアしなきゃならなかった。いちいちクリアしないと、例えば"12345"と表示した後"800"と表示しようとすると、重なって"80045"と表示される。
そりゃ~変な値がでるはずです!
これを見つけるのに4時間くらいかかりました。ADCからは正しいデータが出ているかとか1つずつ原因をつぶしていっても奇妙なことが起こるので、う~~んとうなり、PSoCとArduinoにそれぞれ液晶につなげてどういう風にデーターが曲げられているかを眺めたら、あぁぁ~~なるほど!!となりました。
もう爆笑しました!何時間もバグを探し続けてこれですから!
同時に後悔と自分を責めるという気持ちとでもいいますか・・とにかくひどい!

でも、今日中に見つかってよかったかな?とポジティブになりつつ(?)、これを書いている次第でございます。
I2Cのエラーは今のところ出ていないです・・(たぶん)

明日もボチボチ頑張ります!

(あとちなみに、前の記事のI2C日本語仕様書はやはり誤植で原文が正しいようです)

« I2Cの仕様書の日本語バージョン???? | トップページ | LPFやってみたが・・ »

Arduinoマイコン」カテゴリの記事

PSoCマイコン」カテゴリの記事

ロボットのソフトウェア」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1389908/37697877

この記事へのトラックバック一覧です: 簡単なミスほど見つかりにくく時間がかかる!?:

« I2Cの仕様書の日本語バージョン???? | トップページ | LPFやってみたが・・ »