Re: Millisekunden Timer mit SFR Kategorie: CC2-Unit & Appl.Board / CC2-Station (von rĂĽdi und kone - 2.05.2003 21:39) | |
Als Antwort auf Re: Millisekunden Timer mit SFR von Cris - 2.05.2003 14:15
| |
He Chris, echt mal vielen Dank für Deine Hilfe, haben unser Problem gelöst! MfG rüdi und kone > 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 | |
Antwort schreiben Antworten: |