Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: HILFE ! mein programm stoppt einfach ! Kategorie: Programmierung Basic (von Carsten - 6.09.2005 13:16)
 Als Antwort auf HILFE ! mein programm stoppt einfach ! von hannes - 6.09.2005 10:05
Carsten nutzt:  CC1-M-Unit V1.2/2.0
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

Bisherige Antworten: