| Next revision | Previous revision |
| de:software:homelab:library:timer [2010/08/17 01:20] – angelegt Wember | de:software:homelab:library:timer [2020/07/20 12:00] (current) – external edit 127.0.0.1 |
|---|
| ====== Timer ====== | ====== Timer ====== |
| |
| Diese Bibliothek denkt den großen Teil der Funktionalität des ATmega128 timers ab. Es gibt Datentypen und Funktionen welche das Benutzen von Timern einfacher machen. Leider gibt es auf Grund der Komplexität der AVR Timer keine grundlegende Funktion die man für verschiedene Timer nutzen kann. Jeder Timer hat Funktionen die mit dem Präfix "timer" und dem Index anfangen | Diese Bibliothek deckt einen großen Teil der Funktionen des Timers des ATmega128 ab. Es gibt Datentypen und Funktionen welche das Benutzen von Timern vereinfachen. Aufgrund der Komplexität der AVR Timer gibt es leider keine allgemeingültige Funktion, die für verschiedene Timer genutzt werden kann. Die Funktionen jedes Timers beginnen mit dem Präfix "timer" und seinem Index. |
| |
| ===== Datentypen ===== | ===== Datentypen ===== |
| |
| * **//timer0_prescale//** \\ Timer 0 prescaler enumeration data type. Options: | * **//timer0_prescale//** \\ Timer 0 Vorteiler, Aufzählungsdatentyp. Möglichkeiten: |
| * //TIMER0_NO_PRESCALE// - No prescaler (no division). | * //TIMER0_NO_PRESCALE// - Kein Vorteiler (keine Division). |
| * //TIMER0_PRESCALE_8// - Clk / 8. | * //TIMER0_PRESCALE_8// - Clk / 8. |
| * //TIMER0_PRESCALE_32// - Clk / 32. | * //TIMER0_PRESCALE_32// - Clk / 32. |
| * //TIMER0_PRESCALE_1024// - Clk / 1024. | * //TIMER0_PRESCALE_1024// - Clk / 1024. |
| |
| * **//timer2_prescale//** \\ Timer 2 prescaler enumeration data type. Options: | * **//timer2_prescale//** \\ Timer 2 Vorteiler, Aufzählungsdatentyp. Möglichkeiten: |
| * //TIMER2_NO_PRESCALE// - No prescaler (no division). | * //TIMER2_NO_PRESCALE// - kein Vorteiler (keine Division). |
| * //TIMER2_PRESCALE_8// - Clk / 8. | * //TIMER2_PRESCALE_8// - Clk / 8. |
| * //TIMER2_PRESCALE_64// - Clk / 64. | * //TIMER2_PRESCALE_64// - Clk / 64. |
| * //TIMER2_PRESCALE_256// - Clk / 256. | * //TIMER2_PRESCALE_256// - Clk / 256. |
| * //TIMER2_PRESCALE_1024// - Clk / 1024. | * //TIMER2_PRESCALE_1024// - Clk / 1024. |
| * //TIMER2_PRESCALE_T2_FALLING// - Clock on pin T2 falling edge. | * //TIMER2_PRESCALE_T2_FALLING// - Taktgeber an Pin T2 fallende Flanke. |
| * //TIMER2_PRESCALE_T2_RISING// - Clock on pin T2 rising edge. | * //TIMER2_PRESCALE_T2_RISING// - Taktgeber an Pin T2 steigende Flanke. |
| |
| * **//timer1_prescale//** | * **//timer1_prescale//** |
| * **//timer3_prescale//** \\ Timer 1/3 prescaler enumeration data type. Options ("n" means 1 or 3): | * **//timer3_prescale//** \\ Timer 1/3 Vorteiler, Aufzählungsdatentyp. Möglicheiten ("n" bedeutet 1 oder 3): |
| * //TIMERn_NO_PRESCALE// - No prescaler (no division). | * //TIMERn_NO_PRESCALE// - Kein Vorteiler (keine Division). |
| * //TIMERn_PRESCALE_8// - Clk / 8. | * //TIMERn_PRESCALE_8// - Clk / 8. |
| * //TIMERn_PRESCALE_64// - Clk / 64. | * //TIMERn_PRESCALE_64// - Clk / 64. |
| * //TIMERn_PRESCALE_256// - Clk / 256. | * //TIMERn_PRESCALE_256// - Clk / 256. |
| * //TIMERn_PRESCALE_1024// - Clk / 1024. | * //TIMERn_PRESCALE_1024// - Clk / 1024. |
| * //TIMERn_PRESCALE_Tn_FALLING// - Clock on pin Tn falling edge. | * //TIMERn_PRESCALE_Tn_FALLING// - Taktgeber an Pin Tn fallende Flanke. |
| * //TIMERn_PRESCALE_Tn_RISING// - Clock on pin Tn rising edge. | * //TIMERn_PRESCALE_Tn_RISING// - Taktgeber an Pin Tn steigende Flanke. |
| |
| * **//timer1_ctc_top//** | * **//timer1_ctc_top//** |
| * **//timer3_ctc_top//** \\ Timer 1/3 CTC mode top value enumeration data type. Options ("n" means 1 or 3): | * **//timer3_ctc_top//** \\ Timer 1/3 CTC Modus, Höchstwert, Aufzählungsdatentyp. Möglichkeiten ("n" bedeutet 1 oder 3): |
| * //TIMERn_CTC_TOP_OCRA// - Top value from timer 1/3 output compare register A. | * //TIMERn_CTC_TOP_OCRA// - Höchstwert des Timers 1/3 output compare register A. |
| * //TIMERn_CTC_TOP_ICR// - Top value from timer 1/3 input capture register. | * //TIMERn_CTC_TOP_ICR// - Höchstwert des Timers 1/3 input capture register. |
| |
| * **//timer1_fast_pwm_top//** | * **//timer1_fast_pwm_top//** |
| * **//timer3_fast_pwm_top//** \\ Timer 1/3 fast PWM mode top value enumeration data type. Options ("n" means 1 or 3): | * **//timer3_fast_pwm_top//** \\ Timer 1/3 fast PWM mode top value enumeration data type. Options ("n" means 1 or 3): |
| * //TIMERn_FAST_PWM_TOP_256// - Top value 255. | * //TIMERn_FAST_PWM_TOP_256// - Höchstwert 255. |
| * //TIMERn_FAST_PWM_TOP_512// - Top value 511. | * //TIMERn_FAST_PWM_TOP_512// - Höchstwert 511. |
| * //TIMERn_FAST_PWM_TOP_1024// - Top value 1023. | * //TIMERn_FAST_PWM_TOP_1024// - Höchstwert 1023. |
| * //TIMERn_FAST_PWM_TOP_ICR// - Top value from timer 1/3 input capture register. | * //TIMERn_FAST_PWM_TOP_ICR// - Höchstwert des Timers 1/3 input capture register. |
| * //TIMERn_PAST_PWM_TOP_OCRA// - Top value from timer 1/3 output compare register A. | * //TIMERn_PAST_PWM_TOP_OCRA// - Höchstwert des Timers 1/3 output compare register A. |
| |
| * **//timer1_fast_pwm_output_mode//** | * **//timer1_fast_pwm_output_mode//** |
| * **//timer1_fast_pwm_output_mode//** \\ Timer 1/3 fast PWM mode outputs configuration enumeration data type. Options ("n" means 1 or 3): | * **//timer3_fast_pwm_output_mode//** \\ Timer 1/3 fast PWM mode outputs configuration enumeration data type. Options ("n" means 1 or 3): |
| * //TIMERn_FAST_PWM_OUTPUT_DISABLE// - No output. | * //TIMERn_FAST_PWM_OUTPUT_DISABLE// - No output. |
| * //TIMERn_FAST_PWM_OUTPUT_TOGGLE_ON_MATCH// - Output toggles on compare match. | * //TIMERn_FAST_PWM_OUTPUT_TOGGLE_ON_MATCH// - Output toggles on compare match. |