-
-
Erfahrener Benutzer
Roboter Experte
Was für einen PIC nimmst du denn?
evtl. könntest du das mit Capture&Compare machen...
Das mit dem Timer wird etwas problematisch, da du ja dann nur den 0-1-Wechsel mitbekommst und nicht den 1-0-Wechsel...
Prinzipiell hast du zwei Möglichkeiten: du fragst in einer Endlosschleife immer den Status ab und startest dann, wenn ein 0-1-Wechsel stattgefunden hat, den Timer und hälst ihn später wieder an (beim 1-0-Wechsel), liest ihn aus, setzt ihn auf null. Natürlich kannst du das ganze auch noch etwas ressourcenschonender machen, indem du nen zweiten Timer nimmst und damit nur alle x µs den Status abfragst. Kommt immer drauf an, wie dein Eingangssignal aussieht.
Alternative: Du hängst an dein Eingangssignal nen RC-Glied und misst am PIC einfach per AD-Wandler den Wert. Daraus kannst du dir dann ausrechnen, wie das Tastverhältnis ist. Wenn du dann noch auf nen Interrupt-Pin dein Eingangssignal drauf legst, kannst du auch messen, wie groß die Frequenz ist. Dadurch kannst du dann wieder deine einzelnen Zeiten berechnen. Die Frage ist dabei halt, ob du die absoluten Zeiten brauchst, oder ob dir das Verhältnis (nennt sich Duty-Cycle) reicht.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen