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 Burkhard, > > Jetzt habe ich noch einen kleinen Bug in stports.c2 übersehen, von dem ich dachte, > daß ich ihn bereits in V1.01 gelöst hätte. > Und zwar hat setRel einen falschen portoffset. Und da ich gestern alles nur > mit den toggle-Funktionen getestet hatte, lief alles einwandfrei. > In setRel muß es nämlich beim Aufruf für die Systemroutine Rel+8 und nicht Rel+7 > heißen. Das erklärt, warum LED8 statt Rel1 und Rel1 statt Rel2 geschalten wurde. > > Was ich allerdings nicht nachvollziehen kann ist, daß alles durcheinanderschaltet. > Ich habe Deinen Thread zusammen mit anderen Thread, die auch auf die Ports zugreifen, > getestet. Es gab keinerlei Probleme. Ich habe nur lcdext.dcf durch lcdext.time(0) ersetzt, > da ich nicht weiß, was die von Dir eingefügte Funktion lcdext.dcf() genau macht, und > wie diese aussieht. > Ich vermute, daß diese Funktion damit etwas zu tun hat. Kannst Du diese kurz posten ? > Das Problem ist nämlich folgendes: > Damit es bei Multithreading keine Problem gibt, muß jede Funktion die auf P1L > zugreift quasi "atomar" verlaufen (von der VM aus gesehen). Sonst müssen wieder > Captures gesetzt werden. > > Ich habe das Programm jetzt so Problemlos laufen lassen: > <code>thread dcf > { > lcdext.init(); > lcdext.clear(); > loop > { > if ports.getfreq(0) ==1 > { > stports.setLED(1,-1); > sleep 5; > stports.setLED(2,-1); > stports.setLED(1,0); > stports.setLED(3,-1); > sleep 50; > stports.setLED(2,0); > stports.setLED(4,-1); > sleep 50; > stports.setLED(3,0); > stports.setLED(5,-1); > sleep 50; > stports.setLED(4,0); > sleep 50; > stports.setLED(5,0); > } > lcdext.line(1); > lcdext.time(0); > } > } > > thread main > { > stports.setRel(2,1); > run dcf; > loop > { > stports.setRel(1,0); > stports.LCDlight(1); > sleep 500; > stports.setRel(1,1); > stports.LCDlight(0); > sleep 500; > } > }</code> > > MfG André H. > > > Hallo André, > > > > > Ich habe das Problem gefunden und gelöst. Ich werde das Update von > > > sys0001.hex (die Einsprungadressen bleiben gleich) heute noch hochladen. > > > (Achtet einfach auf die News ...) > > > > habe sys0001.hex, stport2.c2 und lcdext.c2 geladen geht leider immer noch nicht. > > K1 schalten über Tastatur geht LED8 an aber nicht mehr aus, und K2 da geht K1 an und nicht mehr aus > > > > So funktionieren die Relaise > > <code> if keycode ==10 pcf.on(1,in-1); > > if keycode ==11 pcf.off(1,in-1); > > if keycode ==10 and in == 9 station_io.RELon(1); > > if keycode ==10 and in == 10 station_io.RELon(2); > > if keycode ==11 and in == 9 station_io.RELoff(1); > > if keycode ==11 and in == 10 station_io.RELoff(2); > > /* stports.setRel(1,1); // > > stports.setRel(1,0); // > > stports.setRel(2,1); // > > stports.setRel(2,0); */ > > if keycode ==13 > > {station_io.RELoff(1);station_io.RELoff(2); > > for n =0 ...7 > > pcf.off(1,n);}</code> > > ersetze ich <b>station_io.RELxxx(x)</b> mit <b>stports.setRel(x,x)</b> habe ich die oben genannte Probleme. > > > > Habe jetzt aber auch Probleme die vorher nicht hatte (stportsLED1-5) > > > > <code>thread dcf > > { > > lcdext.init(); > > lcdext.clear(); > > loop > > { > > if ports.getfreq(0) ==1 > > { > > stports.setLED(1,-1); > > sleep 5; > > stports.setLED(2,-1); > > stports.setLED(1,0); > > stports.setLED(3,-1); > > sleep 50; > > stports.setLED(2,0); > > stports.setLED(4,-1); > > sleep 50; > > stports.setLED(3,0); > > stports.setLED(5,-1); > > sleep 50; > > stports.setLED(4,0); > > sleep 50; > > stports.setLED(5,0); > > } > > lcdext.line(1); > > lcdext.dcf(); > > } > > }</code> > > > > wenn ich oben den <b>thread dcf</b> aufrufe rastet die Station voll aus K1,K2, LED1-8 gehen nacheinander > > an und wieder aus. > > > > MfG Burkhard
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB