Need help with timer programming

Thread Starter

Hassan Irresistible

Joined Jun 3, 2019
I am programming timer0 using a compare match feature of it, available in Atmega2560 with atmelstuidio7.
I have written the following code, after studying the datasheet, but it's resetting the timer on overflow rather on compare match. Need your assistance regarding this.
Here's the code.

#include <avr/io.h>

void delaynew ();
int main(void)
   DDRB = 0xFF; //PortB is set as o/p
  while (1)
     PORTB = 0xAA;
     PORTB = 0x55;

void delaynew (void)
   TCCR0A =0xC0;
   //TCNT0 = 0x00;   //Initialized the counter
   OCR0A = 0xA0;   //Set the delay to 50 a/c to decimal
   TCCR0B = 0x01;   //set the clock with no prescale
   while ((TIFR0 & 0b00000011) == 0b00000011)
     TCCR0B = 0x00;
     TIFR0 = 0x03;
One more thing, I am checking comparison b/w TCNT0 register & OCR0A using simulator mode in atmelstudio7.
Last edited by a moderator: