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 Ihr Hacker von der Alb, > > zunächst einmal sorry für die misslungene Anrede. Ich war der Meinung, irgendwo etwas von Klaus gelesen zu haben. > Hoffentlich seid Ihr nicht sauer. > > Jetzt zu Eurem Problem. Ihr woll einen Millisekunden-Timer bauen. Warum tut es nicht der Timer vom Betriebssystem > system.timer()? > > Mit den Timern 7 oder 8 lässt sich auch so etwas machen. Das hat aber ein paar Nachteile. Diese beiden Timer gehören zur CAPCOM6- > Einheit des Prozessors. Diese steuert z.B. die PLM-Ausgänger der CC2 an. D.h. wenn Ihr die Timer anderweitig verwendet, könnt Ihr > die PLM-Ausgänge nicht nutzen. Die CAPCOM6 Einheit kann mit den Vorteilern in T78CON, Reload-Werten und Werten > in den CAPCOM-Registern komplexe Impulsfolgen an den 3 PLM-Ausgängen generieren. Die Steuerung der Timerfrequenz ist nur sehr grob > mit 8 Vorteilerwerten möglich. Diese sind im schon erwähnten Manual 2 des Prozessors auf Seite 16-6 erklärt. Für den Timer sind die Bits > 0...3 für diesen Vorteilerwert verantwortlich. > > Der Werte 0B0010 macht eine Auflösung von 1,6µs und eine Periodendauer von 105 ms. Wenn Ihr also 1000 ms wartet, ist der Zähler > mit dieser Einstellung fast 10 mal übergelaufen. Ein Reeload von 0x4000 sorgt dafür, dass der Zähler nicht bei 0 sondern > 0x4000 startet. > > Probiert einmal diese Einstellung > > > sfr.set_T7REL(0x0000); //setze Reload-Wert Timer 7 > > sfr.set_T7IC(0B0000000000000000); //Interrupts Timer 7 auschalten > > sfr.set_T78CON(0B0000000001001111); //Timer 7 starten > > > > int t3, p3; > > > > while(1) > > { > > t3 = 0; > > t3 = sfr.get_T7(); > > sleep(100); > > p3 = 0; > > t3 = sfr.get_T7(); > > } > > Die mit sfr.get_T7() eingelesenen Zählerstände müsst Ihr dann noch in Millisekunden umrechnen. > > Beste Grüße > > Cris