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 Jörg, > > > ... Ich hoffe mal, dass Conrad das in irgendeiner Weise honoriert. > Bis jetzt leider nicht. > Aber Conrad macht es sich mit der CC2 ziemlich einfach. > Bei der Conrad-Hotline wird bei Problemen und Fragen ziemlich > schnell auf meine Site verwiesen. > Ich konnte dies erst nicht glauben, wie mir das jemand das erste Mal > mitgeteilt hatte, bis ich es selbst ausprobiert habe. :-) > > > > while 1 ist kein gültiger Term. Bei while muß immer eine Variabel > > > angegeben werden. Da gibt's sonst Fehler und deshalb ist der > > > VMC-code dann auch kürzer. > > > Mit while 1==1 sollte es aber funzen. > > > > Hmm, das ist schlecht, nicht weil ich "while 1==1" o.ä. hinschreiben muss, sondern weil ich kein > > Vertrauen in einen Compiler haben kann, der ungültige Syntax in irgendwelchen ungültigen Code > > umsetzt. Wie viele solche Konstrukte gibt es denn noch? > > Ehrlich gesagt ähh ... geschrieben, bin ich auf den Compilier-Fehler mit "while" > auch erst mit Deinem Posting gestoßen. > Ich habe das auch erst untersucht, als Du es im letzten Posting erwähnt hattest. > Mit der Untersuchung kam ich zu diesem Schluß, daß bei while kein konstanter > Wert stehen darf, sondern nur eine Berechnug bzw. Vergleich oder eine Variabel. > Also do { ...} while a; funktioniert. > "a" darf aber auch keine mit const definierte Konstante sein. > Dieser Fehler lässt sich übrigens mit dem Simulator auch reproduzieren: > Lege ein neues Projekt an und setzt in ein Leeres Modul folgenden Thread: > <font face="courier new" size=2">byte a,x; > const b=1; > thread main > {a=1; > do > {x=x+1; > } while a; > }</font> > Führe diesen Thread einmal mit "while a;" mit mehreren Druchläufen > im Einzelschritt aus(Taste F7). > Es sollte ganz normal ausgeführt werden. > Danach ersetzt Du while a; durch while b; . b ist hier eine konstante. > Wenn Du jetzt mehrere Durchläufe mit F7 machst, springt der Simulator > nach while immer in ein anderes aktives Modul und führt dor wahrscheinlich > die oberste Funtion aus bzw. markiert diese nur und macht etwas anderes. > Bei mir ist der Simulator bei dem Test, den ich gerade gemacht hatte, > immer in pcf.c2 gesprungen, das dieses Modul in jedem meiner Projekte > aktiviert ist. Bei Dir wird es dann sicher in das letzte aktivierte Systemmodul > springen. > > > > Baue Debugging-Informationen ein, die aufs externe LCD ausgegeben werden, > > > [...] > > > Wenn der Bereich eingegrenzt ist, erstelle in diesem in jeder Zeile eine Ausgabe > > > der aktuellen Information. > > > > danke für deine Debugging-Tips, bislang habe ich das Debugging aber so verstanden und gehandhabt, > > in erster Linie meine Programmierfehler zu finden. Jetzt kommt eine neue Qualität hinzu, nun sucht > > man halt eigene und CC2-Fehler ;-) > > Der Fehler liegt eindeutig am Compiler. Das Problem ist, daß es sicher nicht so schnell > eine neue Version davon geben wird. > > > Vielleicht kan sich ja auch Conrad mal dazu äußern! > > > Das wird sicher auch nicht so viel nutzen, da ich, glaube ich, die CC2 > mittlerweise besser kenne als das CTC. :-) > > MfG André H.