Gast
#168128
Hallo Leute,
ich habe gerade alle möglichen Codebeispiele hier im forum
durchforstet, doch bei der Masse an Beispielen, kann ich mir nicht das
rechte zusammenreimen.
Ich möchte folgendes tun:
- eine Spannung mit dem internen ADC eines Mega32 einlesen
- der ADC wert soll in den Timer geladen werden
- der Timerwert soll herunterzählen
- während ich das TOV1-Flag polle
- nachdem TOV1 == 1
- soll mein Programm weiterlaufen/ (es soll wirklich für die Zeit
des Timers stoppen)
Was ich bis hierhin schon in Erfahrung gebracht habe, ist:
1. globale Interrupts einschalten
2. Timer-Interrupt einschalten
3. Prescaler setzen
4. High und Low-Register laden
Was ich nicht weis/ gern wissen möchte.
Was ich nicht weis, wie ich den Timer im Normalbetrieb herunterzählen
lassen kann. Denn, da meine Anwendung sehr schnell ablaufen muss, denke
ich, dass es einfacher ist für den Timer auf NULL zu vergleichen, statt
auf irgend einen bestimmten wert.
Welche Betriebsart muss ich einsetzen, für den Fall des
herunterzählens? Ich denke mir schon, dass es eine Capture betriebsart
sein muss. Am besten wäre es aber für mich, den T1 einen wert und
Prescaler zu geben und das TOV1 abzufragen.
Wenn das geht wärs schön, wenn mir einer sagen könnte wie, wenns geht
würde ich mcih über ein kurzen C-Beispiel-code freuen.
best regards
littlecb