Arduino programme (erreurs chaînes de caractères)
Résolu
maxpothier
Messages postés
37
Date d'inscription
Statut
Membre
Dernière intervention
-
maxpothier Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
maxpothier Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai fait un programme Arduino pour télécommande IR.Le voici:
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
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
A voir également:
- Arduino programme (erreurs chaînes de caractères)
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Programme demarrage windows - Guide
- Caractères spéciaux mac - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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.
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
37
Date d'inscription
Statut
Membre
Dernière intervention
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.