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 > > Mein CC2 Programm zur Steuerung meiner Markisen macht mir leider massive Schwierigkeiten. > > Die CC2 hängt sichlaufend auf oder stürzt ab. Diese Probleme treten auf seit ich angefangen habe, > alle möglichen Daten meines Programms in komplexen Datentypen abzulegen (u.a. die ganze Config für > edip240) . > > Ich benutze mit Type definierte Datentypen welche wiederum ein Arrays mit weiteren mit Type > definierten Datentypen enthalten. > > Meine Beobachtungen, deuten auf ein Bufferoverrun Problem hin, d.h. aus irgend einem Grund scheint > mein Program oder die CC2 Datenbereiche zu überschreiben welche nicht zu meiner Datenstruktur > gehören, sondern für anderen Zwecke verwendet werden. Unterdessen habe ich bei allen Programmteilen > in welchen in diese Strukturen geschrieben wird, if-Statements eingebaut um sicherzustellen, dass nicht > ausserhalb der definierten Arraygrenzen geschrieben wird. Log-Statements welche laufend die Variablen- > werte auf HWCOM schreiben haben leider auch nix gebracht. > > Mittlerweile bin ich mit meinem Latein ziemlich am Ende und weiss nicht mehr so genau wo ich > weitersuchen soll. Darum meine Frage: > Gibt es spezielle Eigenheiten der CC2die bei der Arbeit mit komplexen Datentypen beachtet werden > müssen? > Sind irgend welche Bugs/Fehler im OS der CC2 bekannt welche sich auf die Arbeit mit komplexen > Datentypen auswirken? > > Vielen Dank für jeden Tipp! > > Gruss > > Tom > > > Hier noch ein Ausschnitt (das Modul ist noch einiges Umfangreicher) des Codes in welchem der Datentyp > definiert wird (poste gerne noch mehr, wenn notwendig): > <code> > type displayconfigparastruct { > int mode; > int para1; > int para2; > byte brightness; > } > > type displayparastruct { > int mode; > int para1; > int para2; > } > > type displayschedulestruct { > system.TIME starttime; > system.TIME endtime; > displayconfigparastruct para; > }; > type displayscenegroupstruct { > int scenegroupnr; > }; > > type displaycontrolstruct { > int code; > int id; > int val1; > int val2; > } > > const displayparastacksize=8; > type displaystatusstruct { > long sleeptimer; > byte brightness; > displayparastruct newpara; > displayparastruct para; > int parastackpointer; > displayparastruct parastack[displayparastacksize]; > int controlcount; > displaycontrolstruct control[255]; > byte blindselect[blindcount]; > edip.RxBuffer inputbuffer; > } > > const displayschedulesize=8; > type displaystruct { > string name; > byte address; > long timeout; > displayconfigparastruct defaultpara; > int schedulecount; > displayschedulestruct schedule[displayschedulesize]; > displaystatusstruct status; > int scenegroupcount; > displayscenegroupstruct scenegroup[SceneGroupCount]; > }; > > displaystruct display[DisplayCount]; > </code> >