INFO - FAQ - CC2-Forum - CCPro-Forum |
Die Puls- und PausenlĂ€nge wirst Du in etwa so ermitteln können, aber nicht sehr genau, ich schĂ€tze mit einer Auflösung von 0,1 ms. z.B. fĂŒr eine Fernsteuerung mit ihren kurzen Pulsen und lagen Pausen nicht brauchbar / ansonsten evtl ja. Die PulshĂ€ufigkeit kannst Du so nicht ermitteln, denn wĂ€hrend Print ausgefĂŒhrt wird, gehen Dir Impulse verloren - es sei denn Du Ă€nderst das und zĂ€hlst per interrupt am FREQ. Das aber wiederum (weil Interrupts abgearbeitet werden mĂŒssen) beeinfluĂt evtl. Deine PulslĂ€ngenmessung. Kurz - probier es aus. > Hallo zusammen, > nach lĂ€ngerer Abwesenheit beschĂ€ftigt mich wieder ein Projekt. Ich möchte gerne eine PWM die ihre Pulsweite verĂ€ndert ausmessen und verarbeiten. Mit der Frequenz Messung per Freq-Port erhalte ich ja nur die Anzahl (Zahl) der Impulse je Zeiteinheit (Torzeit). Ich möchte aber die PulshĂ€ufigkeit, PulslĂ€nge sowie die PausenlĂ€nge erhalten. Die Frage an die Profis: kann man das mit einem Port hinbekommen ???? die max zuerwartende PulshĂ€ufigkeit wird um die 65-70 je Sekunde betragen. > Mein Ansatz wĂ€re: eine Schleife solange durchlaufen lassen bis das Signal wieder auf low ist und eine anschlieĂende Schleife solange durchlaufen zulassen bis das Signal wieder auf High geht. Bei jedem Durchlauf der Schleife soll ein ZĂ€hler sich um 1 erhöhen. > ich habe es noch nicht getestet, was sagen die Profis könnte das funktionieren oder noch wichtiger gehtÂŽs auch einfacher ????????????? > > GruĂ > Georg > > Hier mein Beispiel > > Define Port1 as Port[1] > define pu1 as word > define pu2 as word > > pu1 = 0 > pu2 = 0 > > #loop > print pu1 , pu2 > > #pulszĂ€hlen > if not port1 then goto pausezĂ€hlen > pu1 = pu1 +1 > goto pulszĂ€hlen > > #pausezĂ€hlen > if port1 then goto loop > pu2 = pu2 +1 > goto pausezĂ€hlen > > goto loop |
Antwort schreiben |