Re: Osopt V3.0, lcdext Kategorie: CC2-Unit & Appl.Board / CC2-Station (von André H. - 26.01.2004 16:40) | |
Als Antwort auf Re: Osopt V3.0, lcdext von Arnd Feige - 26.01.2004 11:11
| |
Hallo Arnd, > Ich hab gestern nochmal das OSOPT V3 geladen, mit dem Download Tool V2.2, allerdings ohne Erfolg. > So wie ich das verstanden habe, brauche ich mit dem OSOPT V3.0 für die Station > keine zusätzlichen HEX-Files mehr zu laden, ist das korrekt ? Das Stimmt. Beachte aber, da� alle Module auf dem neuesten Stand sind. Also SP2.0 installieren und anschlie�end alle Module mit Releasedatum nach dem SP2.0. > O.K., ich schreibe also z.B. eine Funktion, die nur einmal beim Programmstart ausgeführt wird > und die alle Initialisierungen vornimmt und dann nie wieder aufgerufen wird, meinst Du das so ? Das meint er. :-) > Das war auch mein Verdacht, dass es vielleicht damit zu tun hat, > ich konnte es aber gestern leider nicht mehr weiterfolgen ... Das ist eher unwarscheinlich. Der Hauptgrund, da� etwas ein paar mal funzt, und dann nicht mehr, ist einfach fehlerhaftes Kompilieren. Als Bsp.: Du Kompilierst mit Strg+F9 (oder Mausklick auf das Icon) das Programm. Dann überträgst Du es. Hier mu� es funzten. Wenn Du jetzt jedoch im Quellcode etwas änderst, nicht neu kompilierst, aber mit einem DL-Tool die VMC-Datei neu überträgst, funzt das nicht. Der Grund dafür ist der automatische Compiler, welcher nach ein, zwei Sekunden nach dem letztem Tastendruck in der IDE ausgeführt wird. Diese kompiliert nicht wirklich, sondern Prüft nur auf syntaktische Fehler. Die VMC-Datei wird aber dennoch geschrieben, aber nicht lauffähig ! Deshalb immer sicherstellen, da� das beim zu �bertragenden Programm, wenn dieses mit der IDE noch geöffnet ist, wirklich kompiliert wurde. (Das �bertragen-Icon mu� aktiviert sichtbar sein.) Ein paar Anmerkungen zu Deinem geposteten Testproggie: thread main { int i; stports.init(); stports.alloff(); // Das hier ist unnötig, da die Ports schon beim Init // auf low gesetzt werden lcdext.init(); lcdext.line(1); // Das hier ist auch unnötig, da der Cursor nach dem Init // immer in Zeile 1, erstes Zeichen steht (vgl. lcdext.clear() lcdext.print("Zeile1"); lcdext.line(2); lcdext.time(1); sleep 5000; } Hier ein Testproggie, das auf der Station funzen mu�: thread main {byte second; stports.init(); lcdext.init(); lcdext.print("Testproggie"); sleep 1000; lcdext.clear(); loop { lcdext.line(1); lcdext.time(1); lcdext.line(2); lcdext.date(0); wait second!=system.second(); second=system.second(); } } MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: Re: Osopt V3.0, lcdext (mein Fehler) (von Burkhard Fischer - 26.01.2004 18:16) Re: Osopt V3.0, lcdext, Problem mit Download (von Arnd - 26.01.2004 20:40) Re: Osopt V3.0, lcdext, Problem mit Download (von Burkhard Fischer - 26.01.2004 21:04) Re: Osopt V3.0, lcdext, Problem mit Download (von Arnd - 26.01.2004 21:01) |