Re: IDE Einzelschritt Kategorie: Programmierung (von André H. - 7.10.2003 21:44) | |
Als Antwort auf IDE Einzelschritt von Werner - 29.09.2003 23:08
| |
Hallo Werner, Das ist "normal". Du machst keinen Fehler. Allerdings hätte der Simulator schon bei "lcdext.init()" hängen bleiben müssen. Der Simulator der IDE ist nicht dazu gedacht komplette Programme zu testen, sondern nur einzelne, interne Routinen, wie Berechnungen. Wenn es an die Ansteuerung von Hardware geht, ist man am Ende des Simulators angelangt. Besonders, wenn die Module zum Ansteuern der Hardware ASM-Treiber (HEX-Files) benötigen. Des Simulator kann nur C2-Code ausführen. ASM kann dieser nicht. Er wei� eben nicht, was ein ASM-Aufruf macht, und ignorieren dürfte er diesen auch nicht. Dem Simulator irgendwie mitzuteilen, was ein ASM-Aufruf machen soll ist somit unmöglich. Kurz: komplette Programme sollte man immer nur in der CC2 selbst testen. Anders geht's nicht. (Au�er es wird zum "Simulieren" der komplette Code auskommentiert, welcher sich auf ASM-Treiber stützt. MfG André H. > Hallo > > Ich bin noch Anfänger in CII Station und schlie�e Anfängerfehler daher nicht aus. > Jetzt zu meinem Problem: ich habe neues OSOPT.HEX und sys0001hex in Station geladen. > Dann cc2comp.dll, lcdext.c2, stkeyb.c2, stports.c2, strx.c2 installiert. > Alle alten Treiber wurden gelöscht und meine Programme auf die neuen Module umgestellt. > Station läuft jetzt ohne Probleme. > Dafür macht mir die IDE jetzt Sorgen und zwar folgender Art: > Wenn ich ein Programm im Einzelschritt testen will steigt die IDE immer an der gleichen Stelle > aus. Habe zu Testzwecken ein kleines Programm von André verwendet. > byte i; > thread main > { > lcdext.init(); > stports.init(); > stports.LCDlight(1); > lcdext.print("CC2-Station");// Hier wird das Prog mit der Meldung (Alle Threads im Programm gestoppt) > lcdext.line(2); > lcdext.print("Testproggie"); > sleep 1500; > lcdext.clear(); > loop > { > for i=1 ... 8 > { > lcdext.delline(1); > lcdext.line(1); > lcdext.print("LED "); > lcdext.zahl2(i); > stports.togLED(i); > > lcdext.line(2); > lcdext.date(3); > lcdext.put(0x20); > lcdext.time(0); > sleep 500; > } > } > } > > wenn ich stport.init() zuerst ausführe dann bekomme ich eine Endlosschleife in der IDE > stports.init(); > lcdext.init(); > Meine Frage lautet, wo liegt der Fehler bei mir. > > PS: �brigens bin ich der Meinung das ohne dieses Forum und insbesondere ohne André nicht viele > CII Stationen laufen würden. Die von Conrad machen sich's ziemlich einfach. > > Gru� > Werner Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: |