Go Down

Topic: Erreur Code :invalide use of non-static member function (Read 129 times) previous topic - next topic

Augustin0002

Bonjour ,

Je suis en train de faire un code pour asservir la vitesse d'un bateau et j'ai un soucis dans mon code avec l'erreur Invalide use of non-static member function, j'ai utilisé la bibliothèque Simpletimer , je ne comprend pas ce qui ne marche pas,

Code: [Select]
#include <SimpleTimer.h>
const int switchPin = 2;
const int motorPin = 11;
int switchState = 0;
const int RL = 7;
int RecepLaser;
int Compteur;
int consigne;
int VM;
SimpleTimer timer;
int setTimer;
unsigned long time;
int f;
int k;
int timerId;

void asservissement(){
  f=(Compteur*3)/3;
  if (f<consigne) {
    k=consigne/f;
    analogWrite(motorPin, VM*k);
  Compteur=0;
  }
}
 
void setup() {
  pinMode(motorPin, OUTPUT);
  pinMode(switchPin, INPUT);
  pinMode(RL, INPUT);
  timerId = timer.setTimer(3000, asservissement, 5);
  Compteur=0;
  consigne =0.5;
  VM=127;
  time = millis();
  timer.run;                           // erreur : invalide use of non-static member function
}

void loop() {
  delay(10000);
  while (time<30000)
  {
  analogWrite(motorPin , VM);
  RecepLaser = digitalRead(RL);
  if (RecepLaser == HIGH){
    Compteur=Compteur+1;
}
    else {
      Compteur=Compteur;
}
}}



Merci de m'aider :o je ne comprend pas

kamill

Bonjour,

Je suppose que run est une fonction -> c'est donc timer.run();

Augustin0002

Bonjour,

Je suppose que run est une fonction -> c'est donc timer.run();
merci mon programme à compilé ! ça marche !

dbrion06

Selon https://github.com/jfturcot/SimpleTimer/blob/master/SimpleTimer.h, lignes 51-52 :

Quote
// this function must be called inside loop()
    void run();

Si c'est une foncrion, vous devriez l'invoquer avec -pas- d'arguments..

Go Up