www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 Timer3 Input-Capture Timeout


Autor: doc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Timer der STM32 sind ja eierlegende Wollmilchsäue...
Leider dadurch auch erfrischend kompliziert, um es mal nett auszudrücken 
:-)

Frage:
Ich habe einen Input-Capture auf Timer3, Channel1.
Dieser funktioniert soweit.

Nun hätte ich gern, daß bei einem Capture-Event sich der Counter auf 0 
zurückstellt.

Geht das ?
Wenn ja, wie ?

Wenn nein: Gibt es eine Möglichkeit, eine Art Timeout für das 
Capture-Event zu realisieren ? Also, wenn innerhalb einer bestimmten 
Zeit kein Flankenwechsel stattgefunden hat, einen Interrupt auszulösen ?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Idee, nicht verifiziert: Capture/Compare-Channel 1 für Capture, Channel 
2 für Compare. Bei jedem CC1 Interrupt wird CC2 auf CC1 plus Timeout 
gesetzt (modulo Timerzyklus). Der CC2 Interrupt ist der Timeout. Wobei 
man natürlich berücksichtigen muss, dass beide Events annähernd 
gleichzeitig auflaufen können.

Eignet sich natürlich nicht für Timeouts im Nanosekunden- oder untersten 
Mikrosekundenbereich.

Autor: doc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi A. K.,

vielen Dank,ja, sowas hatte ich mir als "Notlösung" auch schon überlegt.
Ich hatte nur gehofft, in dem "Flag-Register-Dschungel" der Timer etwas 
übersehen zu haben, mit dem das eventuell eleganter geht.

Timing ist kein Thema, es geht um Zeiten zwischen 300us-3ms.


Abgesehen davon, bin ich von den Timern stark beeindruckt...
Damit kann man ja Sachen realisieren, für die man auf AVR z.b. ne Menge 
Code braucht - und das nur durch Konfiguration. Auch die andere 
Periphrerie...Heftig
Hätte ich das gewußt, wäre ich schon viel früher umgestiegen :-)

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
doc schrieb:

> vielen Dank,ja, sowas hatte ich mir als "Notlösung" auch schon überlegt.
> Ich hatte nur gehofft, in dem "Flag-Register-Dschungel" der Timer etwas
> übersehen zu haben, mit dem das eventuell eleganter geht.

Man kann das wohl auch mit 2 Timern vollständig in Hardware realisieren, 
aber ob das eleganter ist?

Timer 1 mit Capture definiert dieses Event als Master und Timer 2 setzt 
sich als Slave basierend auf diesem Event zurück.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
doc schrieb:

> Abgesehen davon, bin ich von den Timern stark beeindruckt...
> Damit kann man ja Sachen realisieren, für die man auf AVR z.b. ne Menge
> Code braucht - und das nur durch Konfiguration. Auch die andere
> Periphrerie...Heftig

Auf der anderen Seite kann man einem µC-Anfänger eben deshalb nicht 
wirklich einen STM32 empfehlen. Die Timer vom AVR sind viel einfacher, 
aber dafür ziemlich detailliert im Datasheet erklärt. Beim STM32 muss 
man den tieferen Sinn vieler Funktionen selber rausfinden und wird von 
den Bits und Möglichkeiten geradezu erschlagen.

Autor: Frank Boe (frank_boe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt auffallend.

Mit einer besseren Doku, evtl vergleichbar mit der zu den AVRs würden 
bestimmt viel mehr, evtl auch prof. Entwickler zu diesen Controllern 
wechseln.
An der Doku muss wirklich noch gearbeitet werden.
Das gilt gerade auch für die Lib (obwohl..die sollte selbst auch 
grundlegend geändert werden..aber das ist ein anderes Thema :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.