Pages: [1]   Go Down
Author Topic: ISR(TIMER1_COMPA_vect)  (Read 2504 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 91
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am learning C and have the following problem:

I want to use timer interrupt routine. The routine works, the LED switch ON and OFF. In side of the routine I want decrement a counter. The routine is below:

(I declare the count variable as "volatile uint16_t count=0;").

Code:
ISR(TIMER1_COMPA_vect)          // timer compare interrupt service routine
{
 
  digitalWrite(ledPin, digitalRead(ledPin) ^ 1);   // toggle LED pin
  count--;
   if (count=0)
  {
    TCCR1B =0;
  } 
}   


I want decrement a counter (count) and stop the timer when it reaches zero, but, the counter doesn't decrement.

Can you please help on solving this problem?

Thanks,
Manuel
Logged

Global Moderator
Offline Offline
Brattain Member
*****
Karma: 452
Posts: 18694
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
if (count=0)

To compare you need to use ==, like this:


Code:
if (count == 0)
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
   if (count=0)

Ahhh, thanks for this. smiley

I have some fun memories from a friend of mine that never managed to get this right. And he knew how to program, and yet never came to memorize the difference between "=" and "==". LOLOL
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 91
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for your help. It was really a crazy question. It was lat in the night, so, I may was sleeping.

regards,
Manuel
Logged

Pages: [1]   Go Up
Jump to: