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> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > > 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 > > > > <b>void Timer_T3PM(byte Mode,byte PS); </b> PS_1 (1) >> 67,8 ns setzen. > > > > Wenn das Sensorsignal wieder auf high geht, kann ich dann mit > > > > <b>Timer_T3GetPM(void);</b> 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 >