ATmega32 Timer0 im CTC Mode
Der ATmega32 Timer0 arbeitet in diesem Codebeispiel im CTC-Mode.
Beschreibung
dieses Programm generiert am Ausgang PB3 (OC0) ein Rechtecksignal mit einer Frequenz von 2.01 Herz.
Der Prescaler hat den Werrt 64. Im ORC0 Register steht en Wert, der den Timer in einer Frequenz von 4.02 Herz im Comparematch zurücksetzt.
Dabei wird jedes mal der Ausgang OC0 getoggelt und ein Signal mit der Frequenz von 2.01Hz entsteht. |
Please visit: the four |
C Sourcecode
#include <avr/io.h>
int main(void)
{
DDRB = 0x08; // Setup PB3 as output
OCR0 = 243; // Set Timerfrequency to 4.002Hz
TCCR0 |= (1<<CS02)|(1<<CS00) // Start timer0 with prescaler 64
|(1<<WGM01)|(1<<COM00); // CTC mode, toggle OC0 on compare match
for(;;); // Endless loop
// main() will never be left
return 0; // This line will never be executed
}
Download lauffähiges C-File mit ASCII-Schema: Downloadlink
Signalplot
Gelb: 2.01 Hz Signal an PB3 (OC3)
|