Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Timer_T3GetPM(void); Kategorie: Programmierung C (von mgolbs - 20.10.2009 12:34)
Als Antwort auf Re: Timer_T3GetPM(void); von UlliS - 19.10.2009 14:53

> > > > Hallo,
> > > >
> > > > ich habe ein Sensorsignal welches immer 40% high und zu 60% low ist.
> > > > Die Frequenz liegt im Bereich 15...130Hz.
> > > >
> > > > Ich will mit der Mega32 die tatsÀchliche Zeit Messen (us oder ms)
> > > > von Beginn high zu wieder high, oder auch das tatsÀchliche Zeitfenster
> > > > wo low oder high anliegt.
> > > >
> > > > Dabei sollte das Zeitfenster in min. "1/180" des Zeitfensters aufteilbar
> > > > sein. Mathematisch/physikalisch  sollte das bei 14MHz problemlos möglich
> > > > sein.
> > > >
> > > > Wenn ich die Doku richtig verstehe, kann ich mit
> > > > void Timer_T3PM(byte Mode,byte PS); PS_1 (1) >> 67,8 ns setzen.
> > > > Wenn das Sensorsignal wieder auf high geht, kann ich dann mit
> > > > Timer_T3GetPM(void); die Vielfachen von PS_1 (1) auslesen?
> > > >
> > > > Im Anschluss will ich eine Pause mit Vielfachen von PS_1 (1) an einem
> > > > Port ausgeben.
> > > >
> > > > Ist das Ziel mit den Maga's möglich?
> > > >
> > > > Über eine Info oder einen Tipp wĂŒrde ich mich freuen.
> > > >
> > > > Gruß Markus
> > > >  
> > >
> > > Hallo Markus,
> > >
> > > Timer_T3PM (allgemein Timer 3) ist nur bei der Mega128 verfĂŒgbar.
> > > Du könntest bei der Mega32 jedoch den Timer1 verwenden.
> > >
> > > void Timer_T1PM(byte Mode,byte PS);
> > > void Timer_T1PM(Mode As Byte,PS As Byte)
> > >
> > > Beschreibung:
> > > Diese Funktion legt fest, ob eine Pulsbreiten- oder Periodenmessung durchgefĂŒhrt werden soll,
> > > initialisiert den Timer_1 fĂŒr die Messung und setzt den Vorteiler.
> > >
> > > Parameter:
> > > Mode  0 = Pulsweitenmessung,  1 = Periodenmessung
> > > PS    Vorteiler
> > >
> > > Tabelle prescaler:
> > >
> > > Vorteiler (prescaler)   Zeitbasis (Dauer eines Ticks)
> > > PS_1 (1)                   67,8 ns
> > > PS_8 (2)                   542,5 ns
> > > PS_64 (3)                 4,34 ”s
> > > PS_256 (4)               17,36 ”s
> > > PS_1024 (5)              69,44 ”s
> > >  
> > >
> > > GrĂŒĂŸe Ulli
> >
> > Hallo,
> >
> > danke fĂŒr die Info's. Ich kann also mit der Periodenmessung die tatsĂ€chlich vergangene Zeit
> > (vielfache von Vorteiler (prescaler)) zwischen zwei low/high ÜbergĂ€ngen an einem Port ermitteln.
> > Ich wĂŒrde dann einen Interupt an einem Port nutzen, um die Messung jeweils abzuschließen?
> > Ist das so richtig verstanden?
> >
> > Gruß Markus
>
> Hallo Markus,
>
> lade dir mal die IDE herunter und schau dir mal das Beispiel PMessung an.
>
> GrĂŒĂŸe Ulli
>


Hallo,

die IDE ist schon seit Wochen auf dem Rechner. Ein Freqenzregler mit einer MAGA128 ist damit
auch schon realisiert.  Er lĂ€uft auch schon an der Anlage prima. Megas sind im Vergleich zur
M-Unit 1 wirklich schnell.  Ich werde mal in das Beispiel PMessung schauen.

Danke und Gruß Markus


    Antwort schreiben


Antworten: