
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Wahrscheinlich läuft Dein Stack über, weil Du an einer Stelle ein Gosub ohne return verwendest (Wahrscheinlich sollte es "goto" heißen): #frage1 if NOT (TWV > TW7) then gosub frage2 goto frage3 Zur Frage "kürzer schreiben" - ja kann man bestimmt. z.B. indem man den Byteport in einer Variable "LEDVar" zwischenspeichert. Dann kann man alle #XXXX - Aufrufe mit einem Unterprogramm XYZ erschlagen: .. im Hauptprogramm: LEDVar = &b00001010 gosub #XYZ ... (schleife) 'Unterprogramm #XYZ: led = LEDVar pulse p2 RETURN > hallo liebe freunde > > ich habe mal eine frage ! > > ich habe mal ein program geschrieben und wenn ich es in die unit übertrage dann führt er dieses auch aus nur das problem besteht darin das er nach rund 20sek nicht mehr weiter macht und sich aufhängt ! > > weiß jemand woran das liegen kann ??? > > und meine zweite frage is ob das programm auch kürzer geschrieben werden kann ?!? > > danke schon mal im voraus !! > > hier is das programm ;) > > define led byteport[1] > define T6 ad[1] > define TS060 ad[2] > define TW4 ad[3] > define TL2 ad[4] > define TW7 ad[5] > define TWV ad[6] > define p1 port[13] > define p2 port[14] > define p3 port[15] > define p4 port[16] > > led = &b00000000 :pulse p1:pulse p2:pulse p3:pulse p4 > #loop > > print "T6", T6 > print "TS060", TS060 > print "TW4", TW4 > print "TW7", TW7 > print "TL2", TL2 > print "TWV", TWV > > if T6 > TS060 or T6 > TW4 then goto frage1 > goto 0000 > > #weiter > goto loop > > > > #frage1 > if NOT (TWV > TW7) then gosub frage2 > goto frage3 > > #frage2 > if NOT (TL2 > TW4) then goto 1000 > goto 1010 > > #frage3 > if NOT (TL2 > TW4) then goto 1100 > goto 1110 > > > > #0000 > led = &b00000000 > pulse p2 > goto weiter > > #1000 > led = &b00001000 > pulse p2 > goto weiter > > #1100 > led = &b00001100 > pulse p2 > goto weiter > > #1010 > led = &b00001010 > pulse p2 > goto weiter > > #1110 > led = &b00001110 > pulse p2 > goto weiter > |
| Antwort schreiben |