Hallo, ich wollte mal fragen ob wer eine Idee hat wie man folgendes am besten löst, um die CPU-Auslastung möglichst gering zu halten!!! Also, ich muss parallel 2 Frequenzen messen (f1~13MHz), (f2~15MHz). mein plan sieht so aus: ein Zeitfenster von 0.1ms erzeugen, indem ich die Flanken der beiden Eingänge zähle und somit auf die Frequenz zurückschließen kann. diese Werte muss ich dann speichern und weiterverarbeiten (filtern, usw) Welche timer / counter verwende ich hierzu am besten? habe schon etwas gelesen von Master/Slave timer?!? ich bin leider gerade erst in der Anfangsphase mich in den STM32F einzuarbeiten. Vielleicht hat von euch ein ähnliches Beispiel. vielen Dank schon im voraus! michael
moin moin, die Software habe ich mal auf Pascal umgeschrieben, bin aber nicht zufrieden. Als Meßobject verwende ich einen Quarzgenerator, das Ergebnis springt wild hin und her. Für den TO: mal mit dem Beispiel spielen und verschiedene Timer ausprobieren. Mit Gruß Pieter
Hallo, Habe folgendes Problem: Ich zähle Pulse via den ETR-Pin eines Timers, welcher sich im Slave-Reset-Mode befindet. ein Master-Timer liefert mir eine Zeitbasis von 0.1ms. Dieser ist im Master-Mode-Update konfiguriert. Der Reset und alles funktioniert einwandfrei. weiters besitzt der Slave-timer ein Comparevalue. Das Ziel ist: wenn der Zählerstand unter dem Comparevalue bleibt soll nichts geschehen. Da er immer durch den Master-Timer auf 0 gesetzt wird. Steigt die Frequenz am Eingang somit wird auch der Zählerstand höher. Überschreitet nun der Zählerstand den Comparevalue wird ein Interrupt ausgelöst. (Soweit funktioniert alles). Nun möchte ich in diesem InterruptRequest den MasterMode deaktivieren, damit der Zählerstand nicht automatisch auf 0 gesetzt wird. Weiters deaktiviere ich dabei auch den Interrupt für das CompareRegister, und aktiviere den Interrupt für meinen "Master"-Timer damit ich alle 0.1ms einen Interrupt bekomme und somit den Zählerstand des "Slave"Timers händisch auslesen kann und zurücksetzen kann. jedoch, ist dann der Zählerstand des "Slave"-Timers immer 0, wenn ich ihn auslesen möchte. Daher, kann man den Master/Slave Mode während den Betrieb ausschalten und einschalten? oder übersehe ich hierbei noch etwas? vielen Dank vorab! M.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.