Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

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, > irgenwie verstehe ich mein Programm nicht. Offensichtlich mache ich etwas falsch, aber was? > Ich glaube es liegt ein grundsätzlicher Denkfehler vor. Das Programm soll bei Betätigung eines > Schalters, H-L-Flanke, einen Timer anstoßen, der eine bestimmte Zeit an Sekunden > wartet, bevor er eine Meldung ausgiebt. (Derzeit <Timer abgelaufen>,später soll ein Relais bei > steigenden Flanke eingeschaltet werden, und bei fallender Flanke zeitverzögert ausgeschlatet werden). > Soweit funktioniert das Prog auch so wie es soll, aber wenn ich die Zeilen > hwcom.print("...starte Timer"); > hwcom.ret(); > im Thread "nachlauf" auskommentiere, dann läuft der Timer nur genau ein mal ab! Dann tut sich > nix mehr! Erst habe ich geglaubt es liege an der Geschwindigkeit und habe stattdessen > einen sleep von 50, dann 100, 200 und schließlich 1000ms eingefügt, aber das hilft auch nicht. > > Hat irgendjemand eine Idee? Oder ist der ganze Ansatz irgendwie nix. Ich habe so die Vermutung, > es liegt an der Flankengeschichte, ev. funktioniert das nicht ganz richtig! ...aber event. sehe ich > auch den Wald vor lauter Bäumen nicht.... > > Ich wäre dankbar für eine Antwort (oder einen neuen Ansatz). > > hier das Prog. > > const schalter=10; // Eingang P2, PIN48 > const wartezeit=5; // in Sekunden > > int flanke; > int timerflag; > > thread nachlauf > { > long timer; > hwcom.print("...starte Timer"); // mit diesen Einträgen funzt das Programm > hwcom.ret(); // ohne läuft der Timer nur ein Mal > timerflag=0; > timer=system.timer(); > wait system.timer()- timer>(wartezeit*1000); > timerflag=0xFF; > reset; > } > > > function SCHALTER () returns int > /*******************************************************/ > /** Auswertung des SCHALTER-Kontaktes */ > /*******************************************************/ > { > if ports.get(schalter)xor flanke //reagiert auf steigende und fallende Flanke > { > flanke=ports.get(schalter); //Pegel am Port speichern > return 0xff; //flanke=0, d.h. L->H; flanke=-1, d.h. H->L > } > return 0; > } > > > thread main > { > stports.init(); > lcdext.init(); > lcdext.clear(); > stports.LCDlight(0); > run waithost; // ACHTUNG: die Routine habe ich mal ´rausgeschmissen, ist aber die von A.H. > sleep 5000; > hwcom.clr(); > hwcom.print("starte Programm...."); > hwcom.ret(); > > loop > { > if SCHALTER() > { > if flanke > { > hwcom.print(" L->H Flanke"); > hwcom.ret(); > } > else > { > hwcom.print(" H->L Flanke"); > hwcom.ret(); > run nachlauf; > } > } > if timerflag > { > hwcom.print("Timer abgelaufen"); > hwcom.ret(); > timerflag=0; > } > } > }
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB