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

Re: Probleme mit komplexen Datentypen Kategorie: Programmierung (von lizard - 17.01.2007 12:11)
Als Antwort auf Re: Probleme mit komplexen Datentypen von Migi - 16.01.2007 19:31

Hallo Migi

Danke für den Tipp! Werde meinen Code mal dahingehend durchsehen und allenfalls anpassen.

Noch zwei Detailfragen zum Thema:

Funktionieren die IFs und allenfalls auch die FORs richtig, wenn ich den zu prüfenden Wert
zuerst in eine lokale Variable abfülle? Kannst Du ev. ein kleine Beispiel posten, welches
zeigt wie Du diese Probleme in den Griff gekriegt hast?

Kann es nach Deiner Erfahrung sein, dass die Ã?bergabe komplexer Datentypen an Funktionen
 zu Problemen führt.Der folgende Codeausschnitt zeigt ein Beispiel dafür, d.h. Ã?bergabe eine Datentyps
 aus einem Array an eine andere Funktion (Fett):


function processdisplayinput(data.displaystruct display) {
  byte d[64];
  byte commandchar;
  byte l;
  byte Type, Val1, Val2;

  edip.receiveframe(display.address, display.status.inputbuffer);

  l=edip.getRxData(display.status.inputbuffer,d);
  if l>0 and l<255 {
    display.status.sleeptimer=system.timer()+display.timeout;
  }
  while l>0 and l<255 {
    if d[2]>0 and d[2]<255 {
      Type=d[0];
      Val1=d[2];
      Val2=d[3];
      command(display,Type,Val1,Val2);
    };
    l=edip.getRxData(display.status.inputbuffer,d);
  };
};

<b>function controldisplay(data.displaystruct display)</b> {
  processdisplayinput(display);

  if display.status.newpara.mode==display.status.para.mode {
    refresh(display);
  } else {
    exit(display);
    enter(display);
  };
};

thread displaythread {
  int t;
  for t=0 ... data.DisplayCount-1 {
    <b>controldisplay(data.display[t]);</b>
  };
  sysstat.Update(data.Threaddisp);
};


Danke und Gruss

Tom


    Antwort schreiben


Antworten:

Re: Probleme mit komplexen Datentypen (von Migi - 17.01.2007 23:32)
    Re: Probleme mit komplexen Datentypen (von lizard - 18.01.2007 10:31)