Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Mark, > > > wollte heute eigentlich nur ne ganz simple sache versuchen. den lm75 tempsensorchip von conrad > > mit i2c schnittstelle an mein ccontrol2 anschließen! > > > > http://www.produktinfo.conrad.com/datenblaetter/150000-174999/165883-da-01-en-lm_75.pdf > > > > um zu gucken an welcher addresse mein lm75 ist hab ich ne einfache schleife programmiert, die > > für jeden addresse überprüft was das i2c.start zurückliefert: > > > > for i=0 ... <255 > > { > > i2c.init(); > > result = i2c.start(i); > > string s; > > str.clear(s); > > str.putint(s,i); > > str.putstring(s,": RESULT = "); > > str.putint(s,result); > > str.putstring(s,"\n\r"); > > sendString(s); // über serielle schnittstelle ausgeben > > } > > > > leider bekomme ich überall den wert 0 zurück. > > jetzt weiss ich nicht ob ich das ding überhaupt richtig angeschlossen habe. stromversorgung > > addressierung ist soweit klar. was ist mit scl und sda ? werden die direkt 1 zu 1 auf den lm75 > > gesteckt? so hab ich das jedenfalls gemacht... > > > > was mach ich falsch? > > Du machst grundlegende Dinge falsch: > 1. Warum führst Du i2c.init() bei jedem Schleifendurchlauf aus ? > Man benötigt i2c.init() nur, wenn man die Ports vom I²C-Bus anderweitig "mißbraucht" hat. > I.d.R wird er I²C-Bus bei jedem Start des Programms systemseitig initialisiert. > 2. Wenn man i2c.start() ausführt muß auch irgendwann einmal ein i2c.stop folgen. > Sonst wird das nichts. > 3. Um den I²C-Bus zu scannen, sollten nur die geraden Adressen verwendet werden ! > Die Addressen 0 und 1 sollten auch nicht verwendet werden, da dies Generall-Call Adressen sind ! > Aber, warum schlägst Du nicht einfach im Datenblatt des LM75 nach, um die Adresse zu erfahren. > Dort steht ganz deutlich drin, daß Der Baustein die Basisadresse 0b10010000 hat. (=0x90 bzw. 144) > > Und, wenn Du dennoch scannen willst, dann benutze bitte eine Routine nach diesem Schema: > <code> > for i=2 ... 254 step 2 > { > hwcom.print("Addr: "); > hwcom.num(i); > hwcom.tab(); > hwcom.print("Ack.: "); > hwcom.num(i2c.start(i)); > i2c.stop(); > hwcom.ret(); > }</code> > > MfG André H.