Arduino programme (erreurs chaînes de caractères)
Résolu
maxpothier
Messages postés
43
Statut
Membre
-
maxpothier Messages postés 43 Statut Membre -
maxpothier Messages postés 43 Statut Membre -
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 spéciaux - Guide
- Caractères ascii - Guide
- Programme demarrage windows - Guide
- Caracteres speciaux - Guide
1 réponse
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
43
Statut
Membre
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.