Für dieses Forum muß Javascript im Browser aktiviert werden!
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 armelle, > > Wie Rene schon schreibt, mache bitte ein Update der Software, indem > Du das aktuelle ServicePack installierst und das neueste Betriebssystem > auf die CC2 lädst. (Ist im aktuellen ServicePack enthalten.) > > Nun zu Deinem Programm: > (Auch von mir die Bitte, die code-Tags zu benutzen.) > > <code>> thread main > > { > > int i; > > long x; > > x=0; > > loop > > { > > if ports.getcount(0) > > { > > x=x+ports.getcount(0);</code> > > Hier ist schon der erste Fehler. > Wenn Du die Counterports abfragst, wird der Zähler mit der Abfrage gelöscht. > Somit wirst Du, außer bei höheren Frequenzen am Eingang, bei der zweiten Abfrage > immer eine "0" zurückbekommen. > > Das nächste wäre das Problem des Tastenprellens von normalen Tastern. > D.h. bei einmal Drücken erhälst Du nicht einen Zählerwert, sondern viele. > (Es können u.U. über 50 sein.) > > Um Taster abzufragen empfiehlt es sich nicht unbedingt, die Counter-Funktion zu benutzen. > > Eine Abfrage der Ports mit anschließender Softwareentprellung wäre besser. > z.B. so: > <code>byte cnt; > thread main > { > cnt=0; > loop > { > wait not ports.get(8); > cnt=cnt+1; > sleep 100; // Wartezeit zum Entprellen > wait ports.get(8); //Warten bis Taste losgelassen wurde > > if cnt>=3 cnt=0; > > ports.set( 9, cnt and 0b01); > ports.set(10, cnt and 0b10); > } > }</code> > > MfG André H.