Hallo zusammen! ich beschäfftige mich seit zwei tagen mit dem mega8 in assembler. um auch gleich beim lernen etwas "sinnvolles" zu vollbringen, will ich den µC eine frequenz messen lassen und diese dann ausgeben lassen. mein ansatz ist, dass ich ein gleichgerichtetes signal über den komparator führe, der dann bei einer steigenden flanke den capture interrupt auslöst und den zählerwert sichert. aus der differenz der beiden werte würde ich dann die frequenz berechnen können. der 16 bit zähler läuft schon und ich habe auch schon den komparator interrupt und den zähler interrupt einzeln zum laufen bekommen aber wie verknüpfe ich den komparator mit dem 16bit zähler, dass der den wert sofort sichert. welche bits muss ich wo setzen. habe die betreffenden seiten in der "bedienungsanleitung" des mega8 (seite 72 bis 101) schon mehrmals gelesen komme aber irgendwie nicht drauf. Dass es gehen muss, steht ja öffters in der "bedienungsanleitung"... vielen dank schon mal an alle die mir antworten! schönen tag noch! martin
danke für die schnelle antwort! hab ACSR gesetzt aber mit gleichem ergebnis... im anhang ist mal mein bisher geschriebenes. vielleicht fällt dir ja noch etwas auf. wenn der interrupt kommt, dann wird doch das zählerergebnis TCNT1H und TCNT1L in ICR1H und ICR1L geschrieben. von dort aus kann ich dann die werte ganz normal weiter verabeiten, oder?
Wenn Du das Ergebnis gar nicht auswertest, dann kann natürlich nichts rauskommen. Du musst das ICR1 schon lesen...
um es lesen zu können muss doch erst mal was in ICR1 drin stehen, oder? bei der simulation, wird dort aber nichts reingeschrieben. wenn dort erst mal was drin steht dann kann ichs natürlich auswerten. mach ich nen denkfehler? werd mir erst nochmal die dazugehörigen passagen durchlesen. irgendwo wird ja wohl was stehen... danke nochmal!
Wie simulierst Du überhaupt mit dem Komparator? Setzt Du das ACO von Hand? Solange kein Pegelwechsel am ACO auftritt, passiert natürlich auch beim Capture nichts.
Wenn Du übrigens gleich gesagt hättest, dass Du das alles nur simulierst und nicht in HW testest, dann hätte ich Dir wiederum auch gleich sagen können, dass der Simulator den Komparator gar nicht unterstützt (genau wie den ADC)...
genau so hab ichs gemacht, per hand... sorry, aber beschäftige mich eben erst seit zwei tagen mit der ganzen materie... aber bin schon wieder nen wenig schlauer!
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.