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


von Guest (Gast)


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

von Karl H. (kbuchegg)


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.

von Guest (Gast)


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

von Peter D. (peda)


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

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
Noch kein Account? Hier anmelden.