Timerunterschied Mega128 & Mega128CAN Kategorie: CC-Pro Unit & Appl.Board (von Max - 23.01.2014 14:36) | |
| |
Hallo zusammen, ich benutze das Mega 128 Application Board und den Mega128CAN. Mein Problem ist, dass der Timer 3 einwandfrei funktioniert, Timer 1 mit dem identischen Code (natürlich T1 und T3 getauscht) aber nicht. Die PWM wird auf PD4 beim T1 eingespeist. Habe auch mal den Mega 128 mit dem selben Code getestet und dort funktionieren beide Timer wie sie sollten. Wird der Timer1 Interrupt irgendwie blockiert, da ich bei manchen Frequenzen einen viel zu hohen Zählerwert bekomme? Wiederum andere Frequenzen werden einwandfrei gezählt. Hoffe jemand kann mir helfen oder das selbe mal nachstellen und mir das Ergebniss sagen, da ich schon ewig an diesem Problem sitze. hier der Code: // Deklaration der Formatierungsvariablen #define SPACE 0x20 #define CR 13 word PM_Wert; // globale Variablendeklaration word Int; //------------------------------------------------------------------------------ // Messung // void Timer1_ISR(void) { PM_Wert=Timer_T1GetPM(); // Messwert auslesen Int=Irq_GetCount(INT_TIM1CAPT); // Interrupt zurücksetzen } //------------------------------------------------------------------------------ // Hauptprogramm // void main(void) { byte n; word i; n=0; Irq_SetVect(INT_TIM1CAPT,Timer1_ISR); // Interrupt Service Routine definieren // die Messung beginnt hier // Timer Output verbinden mit ICP (input capture pin) Timer1 while (1) { PM_Wert=0; //Timer_T1PM(0,PS_1); // Pulsmessung initialisieren und starten Timer_T1PM(1,PS_256); // Periodenmessung initialisieren und starten while (PM_Wert==0); // Pulsbreite und Periode messen Msg_WriteHex(n); // Anzahl Durchläufe ausgeben Msg_WriteChar(SPACE); Msg_WriteWord(PM_Wert); // Wert ausgeben Msg_WriteChar(CR); AbsDelay(50); // Delay 500ms n++; } } | |
Antwort schreiben Antworten: Re: Timerunterschied Mega128 & Mega128CAN (von Torsten - 27.01.2014 19:25) Re: Timerunterschied Mega128 & Mega128CAN (von Max - 30.01.2014 16:43) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum