Timer zur Zeitsteuerung

Gast #2635707
Hallo,


Controller: stm8s103f3, 16MHz
IDE : IAR

ich möchte einen Puls erzeugen der so aussieht:

für 50ms Pulsen->Pause 3ms->wieder für 50ms pulsen

Dafür erzeuge ich ein PWM Signal(Periode 50μs, breite 5μs) mittels Timer 
1. Mit Timer2 versuche ich das PWM-Signal so zu steuern dass ich den 
Puls(für 50ms Pulsen->Pause 3ms->wieder für 50ms pulsen) erzeugen kann.

Mein Plan ist so:
1.Timer2 PWM-Signal->
2.Timer1 OVF nach 50ms ->
3.Abfragen ob Timer 1 abgelaufen ist->
4.wenn nein zurück zu Punkt 3, wenn Ja Timer1 Stoppen
5.Timer1 OVF nach 3ms ->
6.Abfragen ob Timer 1 abgelaufen ist->
7.wenn nein zurück zu Punkt 5, wenn Ja zurück zu Punkt 1


Punkt 1 und 2 habe ich schon geschrieben. Den Rest schaffe ich nicht.
wie frage ich ob Timer 1 abgelaufen ist? soll ich nach TIF(Trigger 
Interrupt Flag)abfragen ob gesetzt ist?wie schreibe das in C?

Danke

Gruß

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.