Menu

Arduino programme (erreurs chaînes de caractères) [Résolu]

Messages postés
25
Date d'inscription
samedi 21 juillet 2018
Statut
Membre
Dernière intervention
14 mai 2019
-
Bonjour,
j'ai fait un programme Arduino pour télécommande IR.Le voici:



void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600); 
  pinMode(13, OUTPUT);
}
boolean valpin2(){
  if (analogRead(A0) > 500) {
    return true;
  }else{
    return false;
  }
}

char output = ' ';

void loop() {
  while (valpin2()) {
    digitalWrite(13, LOW);
  }
  output = ' ';
  for (int x = 0; x < 500; x++) {
    if (!valpin2()) {
      output = output + '1';
    }else{
      output = output + '0';
    }
    delay(1);
  }
  digitalWrite(13, HIGH);
  delay(1000);
  int caractere = 1;
  int longueur = length(output)-1;
  int vies = longueur / 2;
  char CH = '11111111000011111111101010101010100000000000000000000000000000000000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111001000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111100100000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111100100000000000000000';//code de la touche CH sur la télécommande
  while ((caractere < longueur) && (caractere < length(CH))) {
    caractere++;
    if (int(output[caractere]) != int(CH[caractere])){
      vies = vies - 1;
    }
  }
}




Il est censé vérifier que au moins 50% des caractères sont pareils que dans la variable dans laquelle est écrite le code de la touche(0 et 1).Si oui, il imprime son nom (CH) sur le Serial Monitor.
Mais quand je le vérifie, il me dit ça:
sketch_jul21b.ino: In function ‘void loop()’:
sketch_jul21b.ino:32:31: error: ‘length’ was not declared in this scope
sketch_jul21b.ino:37:35: error: invalid types ‘char[char]’ for array subscript
sketch_jul21b.ino:37:57: error: invalid types ‘char[int]’ for array subscript
Afficher la suite 

Votre réponse

1 réponse

Messages postés
7768
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 mai 2019
464
0
Merci
bonjour, quand tu déclares CH comme char, tu dois utiliser CH pour enregistrer un caractère. et il me semble que tu essaies d'y stocker des centaines.
par ailleurs, tu as déclaré CH et output comme char, et puis tu essaies de les utiliser comme des tableaux.
maxpothier
Messages postés
25
Date d'inscription
samedi 21 juillet 2018
Statut
Membre
Dernière intervention
14 mai 2019
1 -
Merci beaucoup. Mais j'ai trouvé une autre façon de déboguer mon programme(ou presque). Le problème c'est que là je suis pas sur le bon ordi donc j'ai pas le fichier sous la main. Je devrais t'envoyer le programme d'ici une heure(en fait il marche pas non plus, mais en partant de cette version j'ai trouvé un truc qui fait que chaque touche de la télécommande a une lettre comme code, par exemple o barré pour a touche CH.) Merci quand même.
Commenter la réponse de yg_be