Hallo zusammen, ich habe mir ein kleines Prog geschrieben bei dem ich ein Tastverhältnis messen möchte. Ich benutze einen Mega8 mit 1MHz. Leider klappt die ganze Sache nicht so recht. Bei der Ausgabe auf einem display wird immer die gleiche Anzahl an counts ausgeben. Das eingespeisste Signal hat eine Frequenz von 140 Hz. Kann mir jemand weiterhelfen. Grüße Tom
Hallo, ich habe die ganze Sache nicht mit dem Input Capture hinbekommen. Da habe ich alles Software mäßig gemacht. Der Eingang PD7 wird immer wieder abgefragt und kontrolliert welcher Zustand anliegt. Danach wird ein Timer gestartet und die High/Low Zeit berechnet. Ich habe allerdings noch ein Problem. Das ganze dauert lange, ich kann mir nur vorstellen, dass die Multiplikation daran schuld ist. Kann mir das jemand bestätigen? Tom
Wie kommst du auf die Multiplikation? Die kann ein Mega sehr schnell durchführen. Eine Division ist dagegen sehr langsam. Aber was meinst du eigentlich genau mit "lange"? Übrigens: high_total und low_total wären auch bei 16 bit noch groß genug, wenn high_time und low_time nur 8 bit breit sind. Was dein Programm mit dem input capture betrifft: Da kann man nicht viel sagen, weil's kein Programm, sondern nur ein Fragment ist.
Hallo zusammen, also in meinem Prog waren mehrere Fehler vorhanden. Nun habe ich die ganze Sache noch mal gründlich überdacht und siehe da es funzt. Zur Info ist der Code angehängt. Vielen Dank Tom
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.