コー​​ドをTrobleshootingヘルプ

J

Jeffrey Peter

Guest
私は、多くのサイトでI2C勉強したが、私は私のプログラムのエラーを見つけることができません。私は 'を書き込むとEEPROMからそれを読み取るしようとしている。私は、液晶別々のために実用的なコードを書かれている...
HTML:
####[_nop_()]を定義する#ACK 1は#define NACK 0 SBIT sdaは= P1 ^ 0使用の場合/ /含まれるもの含まれる含まれる含んでいる; SBIT SCLは= P1 ^ 1;ボイドI2C_start()/ / I2Cスタート{SDA = 1; _nop_(); _nop_(); SCL = 1; _nop_(); _nop_(); SDA = 0; _nop_(); _nop_(); SCL = 0; _nop_(); _nop_();}ボイドI2C_stop(){SDA = 0; _nop_(); _nop_(); SCL = 1; _nop_(); _nop_(); SDA = 1; _nop_(); _nop_();}ボイドI2C_writebit(unsigned char型データ){ unsigned char型の私は、(i = 0のためには、i
 
だから、問題が発生したかその後を教えて下さいあなたはすべて/ゴミデータ/何でもデータを得られないのですか? readbit()で "SDA = 1"についてコメントをREGD、私が思うにこれは、マスタがデータラインを解放を保証することです。それはプルアップだ...私はあなたの両方のラインにプルアップを持っていると仮定? (付け足し - ?どのようにこれらのラインをトライステートにされています)詳細なしにさらに決定的な提案を与えるのは難しい...例えば、のためのあなたのクロック速度は何ですか?どのEEPROM?あなたは正しくSDAポートビットの読み出しを行っている喝采(ITSが'51で行いますが、AVRのピンでのポートの異なる方法がわからない)!
 
あなたは正しい、私はゴミの値を取得していますされています。私は11.0592MHZ 89S52 MCおよび24C64 EEPROMを使用。私はまた、I2Cの周波数を下げるために_nop()_ delay_msecondによって()を交換しようとしている。これは私の回路図である
 
OK ....回路は十分に単純に見えます。 Q1)はそれとまったく同じガベージ毎回か?あなたのコードは、単に単一の文字を表示していました。私は、お使いのLCDルーチンが正常に動作することを想定しています、あなたは別々にこれらをチェックアウトした? Q2)がどのようにしてSDA / SCLラインのHi-Zのトライステート/をやっている? (編集:ああ待つが...クイックは1を書くことはHi-Zに非常に奇妙な方法でピンを置くこと89c52ショーのお読みください。)Q3)I2C_writebitでコード() - SDA =(データ&0x80)が? 1時00分、SCL = 1;この*は*データセットアップtime@11.0592Mhzを押している可能性があります。あなたにも、これら2つの間_nop_入れを示唆している。我々が行くように私が送信/受信バイトごとにACK / NACKビットを使用する方法について多くの議論を参照してくださいどこQ4)私は(どちらか今のところ使用する必要はありませんでした)は、I2Cプロトコルと24c64の仕様を勉強しています。私の頭が少しスピンメイド......しかし、あなたのコードで私はACK / NACKの多くは管理が表示されない - 特に "書き込み"サイクルインチたぶん、あなたはこの局面を自分で確認できますか?あなたは 'スコープまたはロジック·アナライザを使用している場合Q5)それは非常に有用であろう。ループの中であなたの "書き込み"を入れて見てみましょう。同様に、あなたの '読み込み'。トリガ·パルスを生成するためにあなたののuC上の別のピンを使用します。あなたは何をいただきましたを参照してくださいすることができるかもしれません。乾杯!
 
私はReadByteを機能が正常に動作していないことがわかった...私は、I2Cデバッガのトリガ·ピンを使って何をすべき....
 
[QUOTE =ジェフリー·ピーター; 1133925]私は私のReadByteを機能が正常に動作していないことがわかった...私は、I2Cデバッガのトリガ·ピンを使って何をすれば... [/QUOTE]はぁ?あなたが何とかリードが(むしろ何よりも)動作していないことを考え出したことがあれば、すげえそれを修正する!私はすべてのI2Cデバッガトリガ端子についてさっぱりだが..ソーリー
 

Welcome to EDABoard.com

Sponsor

Back
Top