Hallo Leute,
hab ein Problem, ich will die Pulslänge eines Pulses mit dem Timer messen. Und so hab ich mir das vorgestellt:
1. Bei Start wird der Timer gestartet und misst ( 1/10µS bei 10Mhz, weil teilung sollte 1 sein )
2. Bei Stop wird der Timer gestopt und ein Interrupt soll aufgerufen werden, da wenn man den Timer dauernt liest, zw den Pulsen der Timer 0 ist.
3. Im Interrupt wird Timer ausgelesen und Resetet( des krieg ich schon selber hin )
Wie muss ich dem timer Configurieren, damit das so läuft.
Die Messung muss vom mainprogramm unabhängig sein, deshalb will ich ja den Timer benutzen.
Könnt ihr mir Helfen. Geht das so überhaupt? Wie würdet ihr das Problem lösen? Brauche ja kein fertiger Code nur tipps und Hilfen? Was bvedeutet eigentlich Capture Edge, bei der Timer Configuration, habs mit zwa versucht zu übersetzten werde aber ned ganz schlau draus.
Capture edge sagt aus ob du die Fallende oder die steigende Flanke messen willst
capture edge = "falling oder rising"
Wenn du kurze Pulse hast bis ca.650 ms dann ist der High Levelbefehl
Pulsein besser-------Schau einfach in der Bascom Hilfe nach, dort steht es sehr gut beschrieben. Beim Timer kannst meines Wissens nach nur von steigender zu steigender und von fallender zu fallender Flanke messen.
Das wäre dann eine ganze Periode und du willst ja nur die Pulslänge haben.
Danke für den Tipp, aber der Befehl muss uin des Hauptprogramm, und das wird somit unterbrochen bis ein Puls kommt, das darf ned sein, es muss umbahängig von Main sein ( also Quali wie ein timer )
Lesezeichen