Lincolnmhkn
14.05.2007, 20:34
Hallo Allesammt!
Hatte vor ner Weile mal gepostet bezüglich zusätzlichen AD-Eingängen am ATMega16. Habe jetzt von Maxim den Max127 und den Max128 auf dem Tisch liegen und würde die gerne anschließen. Aufgebaut ist nu alles, aber irgendwie will das mit dem I²C nicht so ganz funzen.
Der IC übermittelt die gemessen Werte mittels zweier Byte nacheinander an den Master, aber mein Bus macht gar nichts, zumindest sagt das das Oszi.
Angeschlossen hab ich alles richtig, SDA und SCL liegen mittels 4,7kOhm an 5V. Sieht jemand in meinem Programm den Fehler? Ist mein erstes I2C- Projekt, bin da noch nicht ganz fit mit.
Besten Dank und Gruß, Martin
Hier mal mein Programm, möchte nur dass mir die übermittelten Daten auf einem LCD ausgegeben werden.
...
Baud 57600
Const Adextw1 = &B01010000 'Schreibadresse
Const Adextr1 = &B01010001 'Leseadresse
Const Adext1chan1 = 11111000 'Control-Byte für AD-Kanal 1
Dim Readvar1h As Bit
Dim Readvar1l As Bit
Initlcd
Do
Cls
I2cstart
I2cwbyte Adextw1
I2cwbyte Adext1chan1
I2cstop
I2cstart
I2cwbyte Adextr1
I2crbyte Readvar1h
I2crbyte Readvar1l
I2cstop
Locate 1 , 1
Lcd "h: "
Lcd Readvar1h
Locate 2 , 1
Lcd "l: "
Lcd Readvar1l
Wait 1
Loop
Hatte vor ner Weile mal gepostet bezüglich zusätzlichen AD-Eingängen am ATMega16. Habe jetzt von Maxim den Max127 und den Max128 auf dem Tisch liegen und würde die gerne anschließen. Aufgebaut ist nu alles, aber irgendwie will das mit dem I²C nicht so ganz funzen.
Der IC übermittelt die gemessen Werte mittels zweier Byte nacheinander an den Master, aber mein Bus macht gar nichts, zumindest sagt das das Oszi.
Angeschlossen hab ich alles richtig, SDA und SCL liegen mittels 4,7kOhm an 5V. Sieht jemand in meinem Programm den Fehler? Ist mein erstes I2C- Projekt, bin da noch nicht ganz fit mit.
Besten Dank und Gruß, Martin
Hier mal mein Programm, möchte nur dass mir die übermittelten Daten auf einem LCD ausgegeben werden.
...
Baud 57600
Const Adextw1 = &B01010000 'Schreibadresse
Const Adextr1 = &B01010001 'Leseadresse
Const Adext1chan1 = 11111000 'Control-Byte für AD-Kanal 1
Dim Readvar1h As Bit
Dim Readvar1l As Bit
Initlcd
Do
Cls
I2cstart
I2cwbyte Adextw1
I2cwbyte Adext1chan1
I2cstop
I2cstart
I2cwbyte Adextr1
I2crbyte Readvar1h
I2crbyte Readvar1l
I2cstop
Locate 1 , 1
Lcd "h: "
Lcd Readvar1h
Locate 2 , 1
Lcd "l: "
Lcd Readvar1l
Wait 1
Loop