Systick oder Timer?

OP #2270846
Lesenswert?

Hallo und guten Tag!

Ich arbeite mit dem stm32f107vc, uVision von Keil.

Ich möchte ein PWM Signal erzeugen, das heist es läuft bereits bestens 
mit dem Timer1! Jetzt habe ich aber den Systick entdeckt (ich arbeite 
noch nicht lange mit dem STM) und frage mich wäre es nicht sinnvoller 
die Zeit des PWMs mit dem Systick zu generieren?? Was meint Ihr???

Vielen Dank und Gruss!

M.B.
Gast #2270850
Lesenswert?

Der SysTick ist eigentlich dafür da, einem OS eine Zeitbasis zur 
Verfügung zu stellen ohne dafür einen "echten" Timer verschenken zu 
müssen. Bei einigen Cortex-MCUs wird der SysTick automatisch beim Reset 
auf 10ms konfiguriert, soweit ich weiss (gilt aber glaub ich nur wenn 
die SysClockfrequenz volle Pulle läuft, sonst stimmt das Timing nicht).

Was heisst bei dir "die Zeit des PWMs"? Machst du eine Software-PWM?

Ralf
OP #2270875
Lesenswert?

Ich weiss eben nicht genau. Ich kenne den Systick noch nicht so gut. 
darum dachte ich, dass man für PWMs den Systick einsetzt um z.B. den 
Timer für anders sparen zu können. Oder vielleicht ist die Realisierung 
mit dem Systick einfach die elegantere Lösung?!


Vielen Dank für Eure Antworten!

Gruss

M.B.
OP #2271225
Lesenswert?

Hallo!

Ich möchte einen DC - Motor mit einem PWM - Signal ansteuern. Das mit 
dem SysTick ist in erster Linie eine Vorgabe und weil ich neu mit dem 
STM arbeite möchte ich möglichst schnell viel darüber erfahren! Ich habe 
mir ein Buch gekauft und lese es zur Zeit. Ich habe mir auch die 
Datenblätter besorgt! Trotzdem gibt es Sachen, die ich nicht sofort 
begreife oder niergends in den Unterlagen gefunden habe. Da dachte ich, 
frag mal erfahrene Profis!!

Meine Frage lautete nur gibt es für den SysTick auch so etwas wie ein 
PWM-Mode, wie z.B. bei den Timer???


Vielen Dank und freundliche Grüsse!

M.B.
Gast #2271245
Lesenswert?

PWM macht man vorzugsweise in Hardware (wenn es denn geht) und nimmt nur 
in der Not eine Softwarelösung. Der Systick ist als Zeitbasis für das 
Betriebssystem da um zum beispiel alle 100ms mal nachzugucken ob ne 
Taste gedrückt wurde oder den Bildschirminhalt zu aktualisieren aber 
nicht um Motore damit zu steuern. Die beste Lösung für dich ist den 
DMAController den AD-Wert automatisch in das PWM Register zu schreiben. 
Dafür ist dann keine Software nötig und die Hardware macht das von 
alleine (man muß die Hardware nur einmal nach dem reset konfigurierenm, 
also DMA und AD-Wandler)
Persönliche Seite #2271257
Lesenswert?

Hi,

der SysTick hat keinerlei Verbindung zu den PWM Generatoren, da diese 
mit in den Timer Peripherals sitzen.

Wie oben schon beschrieben, gibt dir der SysTick nur eine Zeitbasis mit 
z.B. einem Interrupt, die du für irgendwas verwenden kannst (idR. für 
ein RTOS).

Der SysTick selbst kann auch sonst nix, ausser 24Bit zählen, dann nen 
Interrupt zünden und nachladen.


VG,
/th.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren