Go Down

Topic: Problema com attachInterrupt() dentro da classe (Read 119 times) previous topic - next topic

LucasPhill

Olá galera!
Estou com um problema com attachInterrupt() em chamar a função que esta logo abaixo, ambos dentro da classe:

Code: [Select]
class Estacao
{
  public:
  void anemometroPin(int pinoAne);

          double  velVento();
  void anemometerClick();
   
  private:
          int pinoAne;
};


e as funçoes:

Code: [Select]
void Estacao::anemometroPin(int pinoAne)
{
int pino1 = 0;
pino1 = pinoAne;
pinMode(pino1, INPUT);
attachInterrupt(pino1,anemometerClick(),FALLING); //Quando a tensão cai (FALLING) no pino (pino1) executa a função anemometerClick()
}

void anemometerClick()
{
long thisTime=micros()-anem_last;
anem_last=micros();
if(thisTime>500)
{
anem_count++;
if(thisTime<anem_min)
{
  anem_min=thisTime;
}
}
}


Esta função faz a contagem de tempo em relação ao numero de clicks. Como eu poderia fazer este código funcionar? E chamaria ele no Setup()? Agradeço desde já!

Attachinterrupt pede uma função...

Tu estás a passar um método.  Parece a mesma coisa, mas não é.

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).

Go Up