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: