Arduino: erreur: attendu unqualified-id before 'si' (à l'aide de ping capteur)
Je suis d'avoir des problèmes avec un script que j'ai modifié. Je suis un"
Ping_Library_Example:9: erreur: attendu unqualified-id before 'si'"
Je suis sûr que j'ai un peu d'erreur de syntaxe quelque part, toute idée de ce?
Le orrigional script, par la voie, a "void loop" au lieu de "si". Cette même probablement se produit également lorsque vous utilisez lorsque, avec le même message d'erreur. Des idées?
#include <Ping.h>
Ping ping = Ping(13,74,29);
void setup(){
Serial.begin(115200);
}
if(digitalRead == HIGH){
ping.fire();
Serial.print("Microseconds: ");
Serial.print(ping.microseconds());
Serial.print(" | Inches ");
Serial.print(ping.inches());
Serial.print(" | Centimeters: ");
Serial.print(ping.centimeters());
Serial.println();
}
Vous devez vous connecter pour publier un commentaire.
Arduino programmes ont besoin d'une
loop()
fonction à exécuter; il suffit de remplacer la fonction avec unif
condition ne fonctionne pas. Essayez de mettre leif
bloc à l'intérieur d'unloop()
fonction.En outre,
digitalRead
est une fonction, et vous avez besoin de lui dire ce que la broche de la lecture. par exemple,digitalRead(5)
à lire à partir de la broche 5.Essayer quelque chose comme cela:
(changement de 5 à quelque code que vous souhaitez lire, ou d'affecter une valeur à une variable et le passer dans)
Vous ne pouvez pas écrire si l'expression à l'extérieur de la fonction. Je pense qu'il devrait être comme ceci:
Ce code boucles, vérifie si digitalRead est ÉLEVÉ et si oui, fait ping.
Espérons que cela aide 🙂
Quelques informations supplémentaires qui peuvent être utiles à quelqu'un qui a trébuché sur cette réponse,
J'ai juste eu le même problème, mais mon problème était qu'il y avait un } accidentellement omis de la fin. Cela a provoqué l'instruction if pour être en dehors de toute fonction. Simple faute de frappe.
J'ai reçu la même erreur en raison d'une barre oblique inverse faute de frappe dans un commentaire, si vous pouvez imaginer une telle chose. La délinquance des lignes ont été:
Je suppose que cela est dû à une sorte de ligne de maintien de la fonctionnalité dans l'analyseur, et ne serait probablement se manifester comme une autre erreur du compilateur dans d'autres domaines de code...