Ich möchte unter Bascom eine Impulslänge im Bereich von 150-250µs möglichst genau messen. Ich benutze dafür einen Mega128 mit einer Taktrate von 7.3728 MHz. Bisher sind meine Experimente mit dem Timer1 fehlgeschlagen. Mit der Onlinehilfe komme ich nicht weiter.
leg das Signal in den ICP-Eingang, Timer mit max. Frequenz, also ohne Vorteiler frei laufen lassen. In der ICP-ISR kannst du dann die Differenz zwischen 2 ICP-Ereignissen bilden. Willst du nur die low- oder high-Zeit eines Signals messen, musst du in der ISR die aktive Flanke für das ICP-Ereignis umprogrammieren. Bsp für low-Pegel messen: ICP auf fallende Flanke setzen fallende Flanke kommt ICP-Timerstand merken ICP auf steigende Flanke setzen steigende Flanke kommt ICP_neu - ICP_alt bilden -> fertig
Wie kann ich denn die zu erkenende Flanke änderen ? (unter Bascom) Muss ich den Timer komplett noch Konfigurieren ? (Config Timer1= Timer, Capture Edge = Rising, Prescale = .....) Wird dadurch nicht der Timer wieder auf 0 gesetzt ? Oder gibt es einen extra Befehl um die Flankenerkennung des ICP1 zu ändern ? MfG Stefan
Hallo, der Befehl heißt EDGE =RISING bzw. EDGE=FALLING Genuaeres dazu findest du bei C.Kühnel, AVR RICS Mikrocontroller mit BASCOM, 2. (!) Auflage auf S. 108 und eine Anwendung ab S.155 Gruß,Netbird
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.