Re: Timer_T3GetPM(void); Kategorie: Programmierung C (von UlliS - 19.10.2009 9:36) | ||
Als Antwort auf Timer_T3GetPM(void); von mgolbs - 18.10.2009 18:25 | ||
| ||
> 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 | ||
Antwort schreiben Antworten: Re: Timer_T3GetPM(void); (von mgolbs - 19.10.2009 12:29) Re: Timer_T3GetPM(void); (von UlliS - 19.10.2009 14:53) Re: Timer_T3GetPM(void); (von mgolbs - 20.10.2009 12:34) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum