Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

CC2 und ATmega8 per I2C verbinden Kategorie: I²C-Bus (von Johannes - 30.12.2003 14:52)


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:


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);
  }
}


Und für das ATmega8-Modul:


'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.


Leider funktioniert der Code nicht. Die LED bleibt an.
Vielleicht findet sich ja hier jemand, der mir helfen kann.

GruÃ?
Johannes


    Antwort schreiben


Antworten:

Re: CC2 und ATmega8 per I2C verbinden (von André H. - 30.12.2003 20:48)
    Re: CC2 und ATmega8 per I2C verbinden (von Johannes - 30.12.2003 22:49)
        Re: CC2 und ATmega8 per I2C verbinden (von André H. - 31.12.2003 8:31)
Re: CC2 und ATmega8 per I2C verbinden (von Tom - 30.12.2003 15:38)