PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Timer, synchronisieren



uranus303
25.07.2007, 15:05
Hallo,
ich habe mal ein Anliegen bzw. Verständnisproblem.
Ich verwende den mega128 der in c programmiert werden soll.
Aufgabe:
Ich möchte einer externen Baugruppe ein bestimmtes verhalten vorspielen, aber leider bekomme ich mein Ausgangssignal nicht synchronisiert.
Kann man den Timer des Mega´s mit der externen Quelle takten, dass dann mein Ausgangssignal entsprechend synchron auslöst.
Wenn ja wie, oder hat da jemand eine bessere Idee ?

Hubert.G
25.07.2007, 19:48
Timer 1,2 und 3 kann man extern takten, ob es mit Timer0 auch geht weiss ich jetzt nicht, steht aber im Datenblatt.

uranus303
25.07.2007, 20:31
D.h. ich kann ein Timer extern mit ein Signal beschalten, so dass bei z.B. steigender Flanke ein Interupt ausgelöst wird. In der ISR kann ich dann weitere Anweisungen ablegen. So weit so gut, nun muss ich das nur noch in C überführen bzw. den Mega beibringen :-s
Kann ich diesen Timer auch sagen, dass er bei steigender und falender Flanke ein Int. auslöst. Und wie, ich bin ein wenig überfordert, bzw. es dauert bei mir sehr lange.

izaseba
25.07.2007, 21:00
Ein Timer löst nicht bei jeder Flanke einen Interrupt aus, sondern, ja nach Timer nach Überlauf,Comparematch,Captureevent.
Wenn Du bei jeder Flanke von außen einen Interrupt brauchst ist der "Externe Interrupt" was für Dich den kannst Du einstellen wie Du willst, steigende oder fallende Flanke, ein Blick ins Dattenblatt hilft.

Gruß Sebastian

Hubert.G
25.07.2007, 21:06
Mir ist nicht klar was du willst. Wenn eine steigende Flanke ein ISR auslösen soll, brauchst du keinen Timer, dann verwendest du ICP über die externen Interrupt.
Den Timer kannst du extern takten, wahlweise mit steigender oder fallender Flanke und bei erreichen eines bestimmten Wertes oder Überlauf ein ISR auslösen.

uranus303
25.07.2007, 21:33
Danke schon mal für die Anregungen!
Ich habe vor zu einer mir unbekannten Zeit und nicht bekannten freq. ein Signal auszugeben . Bei diesen auszugebenen Signal ist mir die Amplitude und ggf. die freq. der oszillierende Amplitude bekannt, aber nicht die Impulszeiten.
z.B. die unbekannte Freq. eines Signales sei 1,25khz , nun möchte ich ein entsprechendes Signal erzeugen, dass die Amplitude mit 300 hz verändert, und synchron zum unbekannten Signal ausgelöst wird, damit das andere Gerät es auch erkennt.