mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tastverhältnis in C bestimmen


Autor: Guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mal eine Frage. Ich muss das Tastverhältnis an meinen 
Mikrocontroller (80535) in C bestimmen. Ich weiß das ich eine feste Zeit 
haben muss und ein Zähler der die Impulszeit "misst". Aus den beiden 
Werten, kann ich das Tastverhältnis bestimmen, aber ich weiß nicht wie 
ich das die Syntax schreiben muss.
Kann mir da vielleicht jemand einen Tipp geben? oder ein Beispiel 
zeigen?

Vielen Dank schonmal im Vorraus!

MFG

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welches Tastverhältnis?

Ordne doch erst mal deine Gedanken, ehe du dir Sorgen um die Syntax 
machst. Dann schreibst du deine geordneten Gedanken erst mal in Prosa 
nieder. Daraus versuchst du dann erst mal einen Ablaufplan zu erstellen, 
der (immer noch ohne konkrete Syntax) den genauen Ablauf des 'Programms' 
beschreibt.
Dieses Ablaufdiagramm verifizierst du dann erst mal mit einer Person, 
die von dem ganzen überhaupt nichts versteht. Sie soll sich nur an 
deinen Ablaufplan halten und den durchgehen, während du 'Signal' spielst 
und die Eingabe in deinen Ablaufplan lieferst. Kommt die Person nur mit 
deinem Plan zum richtigen Ergebnis, dann taugt dein Plan etwas. Wenn 
nicht, dann musst du nachbessern.

Und erst dann .... bist du soweit, dass du dir einen Editor schnappst 
und dein Programm in einer echten Programmiersprache anhand des Planes 
schreibst. Dann kommt dann auch die genaue Syntax ins Spiel. Da du dann 
aber schon sehr viel mehr über dein Programm weißt, ist das mit der 
Syntax dann auch nicht mehr weiter schwer.

Autor: Guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mir einen zeitlichen Ablauf erstellt. Und ich bin die Skizze 
schon mit anderen durchgegangen und die meinten mein Gedankengang wäre 
richtig.

Ich weiss wie gesagt nur nicht wie ich die Timer einstellen soll, das 
ist mein Problem. Der eine Timer muss einen festen Wert haben. und der 
andere Timer muss hochzählen, wenn an ihm z. B. ein H- Signal anliegt. 
Wenn der Timer mit dem Festwert stoppt, also das Überlaufflag setzt, 
muss ebenfalls der andere Timer stoppen. Dann wird der feste Wert mit 
dem anderen Wert verglichen und so das Tastverhältnis bestimmt.

MFG

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guest schrieb:
> Ich weiß das ich eine feste Zeit
> haben muss und ein Zähler der die Impulszeit "misst".

Wie kommst Du auf sowas?
Zeig mal Deinen PAP und die Berechnung.

Zuerst mußt Du den Eingangsbereich festlegen (Frequenz min/max, 
Tastverhältnis min/max) und die benötigte Genauigkeit.

Dann erst kannst Du überlegen, wie man das messen kann und ob man z.B. 
über mehrere Perioden messen muß, um die gewünschte Genauigkeit zu 
erreichen.

Bis zur "Syntax" ist also noch ein weiter Weg.

Vermutlich wirst Du die Capturefunktion benutzen können.
Dazu mußt Du das Datenblatt Deines MC lesen und dann dio IO-Register 
entsprechend einstellen.
Die Syntax ist dafür ganz normale C-Syntax, die Namen der Register und 
Bits stehen im h-File für Deinen MC.


Peter

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.