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 ! > Moin, > ich habe ein Problem mit der Vernetzung von der CC2 mit einem ATmega8-Modul per I2C. Leider habe > ich noch niemanden gefunden, der mit dabei helfen konnte. > > Ich habe an ein ATmega8-Modul zwei LEDs angeschlossen, die ich von der CC2 per I2C ein und > ausschalten will. > > Der Quellcode für die CC2: > > <code> > thread main > { > i2c.init(); > loop { > i2c.start(81); > i2c.write(1); > i2c.write(0); > i2c.stop(); > sleep (1000); > i2c.start(81); > i2c.write(1); > i2c.write(1); > i2c.stop(); > sleep (1000); > } > } > </code> > > Und für das ATmega8-Modul: > > <code> > 'program Test1; > > { $BOOTRST $00C00} {Reset Jump to $00C00} > { $NOSHADOW } > { $W+ Warnings} {Warnings off} > > Device = mega8, VCC = 5; > > Import SysTick, TWIslave; > > From System Import; > > Define > ProcClock = 16000000; {Hertz} > SysTick = 10; {msec} > StackSize = $0064, iData; > FrameSize = $0064, iData; > TWImode = Transparent; {HandShake or Transparen} > TWIbuffer = 10, iData; {buffer/packet size} > TWIaddr = $40; {slave address} > > > Implementation > > {$IDATA} > > {--------------------------------------------------------------} > { Type Declarations } > > type > > > {--------------------------------------------------------------} > { Const Declarations } > > > {--------------------------------------------------------------} > { Var Declarations } > {$IDATA} > var > LED1[@PortD, 4] : bit; > LED2[@PortD, 5] : bit; > > {--------------------------------------------------------------} > { functions } > > procedure InitPorts; > begin > DDRD:= %00110000; > LED1:= 1; > LED2:= 0; > end InitPorts; > > > {--------------------------------------------------------------} > { Main Program } > {$IDATA} > > begin > InitPorts; > > TWIsetGC (false); > TWIsetslaveAddr ($40); > EnableInts; > loop > LED1 := TWIRXBUFFER[0]; > TWIRXBUFFER[0] := 0; > endloop; > end Test1. > </code> > > Leider funktioniert der Code nicht. Die LED bleibt an. > Vielleicht findet sich ja hier jemand, der mir helfen kann. > > Gruß > Johannes