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, > > > > ich hätte eine kurze Frage zum Anschluss am Digitalport P1H0. > > Ich möchte die Drehzahl eines Fahrradreifens messen. Ich benutze hierfür den Sensor des Fahrradcomputers. > > Immer wenn ein Magnet (an den Speichen besfestigt) an dem Sensor vorbei geht schaltet dieser durch. > > Ich schließe am Sensor die 5 V Festspannung der C-Control II an (mit R = 10k in Reihe) immer wenn der > > Sensor durchschaltet entseht ein Rechteckimpuls. Diesen Impuls möchte ich mit dem Digiport auswerten > > (Impulszähler). Ich weis aber nicht, wie ich den Digiport anschließen muss. einfach parallel dem 5 V Kreis? > > > <code> > thread geschwindigkeit > { > run 32; //es muss ein main-thread vorhanden sein, in dem steht: run geschwindigkeit > // diese zeile ist überflüssig. > long drehzahl, zeit; > float d_reifen; > > drehzahl = 0; > zeit = 0; > > d_reifen = 0.5; > > string s,e; > lcdext.init(); > > zeit = system.timer(); > loop > { > // // Überlauf abfangen > // if zeit < 0 > // zeit = system.timer() + (2147483647 - zeit); > > if zeit<0 //Überlauf abfangen > {ports.getcount(0);zeit=zeit = system.timer();} > else > { > > > if(system.timer()- zeit)>=1000 > { > drehzahl = (ports.getcount(0) * 1000)/(system.timer() - zeit); > > s = ""; > str.putlong(s,drehzahl); > lcdext.clear(); > lcdext.cursorpos(1,0); > e= "1/s"; > s = s+e; > lcdext.print(s); > sleep 100; > zeit = system.timer(); //diese zeile sollte unmittelbar nach getcount folgen, durch das sleep > //fügst du sonst eine messungenauigkeit von 1/10 s ein > } > } > }} > </code> > > > Hallo, > > der Code kann wohl so funktionieren, bitte beachte die Sache mit dem Main-Thread. > Der Forenbetreiber hat übrigens code-tags bereitgestellt, um code übersichtlich darzustellen > und Formatierungen nicht zu verlieren. Bitte benutze diese auch. > > Das von Dir auskommentierte weist auf einen richtigen Gedankengang hin. > Irgendwann nach genau 2147483647 Millisekunden läuft der Zähler über nach > -2147483648. Eine Differenzbildung in diesem Bereich bringt natürlich ungültige Ergebnisse und > muß abgefangen werden. Ich würde einfach im Fall zeit<0 keine Berechnung durchführen und auf > die nächste gültige Messung warten. > > Gruß krassos
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB