Go Down

Topic: ERRORE DURANTE COMPILAZIONE (Read 4707 times) previous topic - next topic

sarrio

Stavo cercando di fare un programma che calcolasse la velocità in metri al secondo di un prototipo di anemometro, grazie a un interruttore  ottico ma non capisco perchè il seguente codice
Code: [Select]

unsigned long duration;
 unsigned double conversore = 1 / 1000000;
 unsigned double tempo;
  unsigned double velocità;
int a ;
void setup() {
  Serial.begin(9600);
pinMode (8,INPUT);
}

void loop() {
   tempo = conversore * pulseIn(8, LOW, 10000000);
   velocità = 1 / tempo;
}


 mi da il seguente errore
Code: [Select]

Arduino:1.6.6 (Windows 7), Scheda:"Arduino/Genuino Uno"

sketch_mar05a:4: error: stray '\340' in program

   unsigned double velocità;

   ^

sketch_mar05a:13: error: stray '\340' in program

    velocità = 1 / tempo;

    ^

sketch_mar05a:2: error: 'signed' or 'unsigned' invalid for 'conversore'

  unsigned double conversore = 1 / 1000000;

                  ^

sketch_mar05a:3: error: 'signed' or 'unsigned' invalid for 'tempo'

  unsigned double tempo;

                  ^

sketch_mar05a:4: error: 'signed' or 'unsigned' invalid for 'velocit'

   unsigned double velocità;

                   ^

exit status 1
stray '\340' in program

  Questo report potrebbe essere più ricco di informazioni con
  "Mostra un output dettagliato durante la compilazione"
  abilitato in "File > Impostazioni"

grazie in anticipo per le risposte <3

gpb01

@sarrio:  nella sezione dove avevi messo il post c'è chiaramente scritto, in grassetto, di non postare nulla ... quindi, per favore, la prossima volta presta più attenzione, Grazie.

Guglielmo
Search is Your friend ... or I am Your enemy !

SukkoPera

Code: [Select]
velocità

Non puoi usare lettere accentate nei nomi delle variabili.
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

sarrio

grazie @sukkoPera, però il coodice con le dovute modifiche al nome della variabile mi da sempre un errore
Code: [Select]

Arduino:1.6.6 (Windows 10), Scheda:"Arduino/Genuino Uno"

sketch_mar09a:3: error: 'signed' or 'unsigned' invalid for 'conversore'

  unsigned double conversore = 1 / 1000000;

                  ^

sketch_mar09a:4: error: 'signed' or 'unsigned' invalid for 'tempo'

  unsigned double tempo;

                  ^

sketch_mar09a:5: error: 'signed' or 'unsigned' invalid for 'velocita'

   unsigned double velocita;

                   ^

exit status 1
'signed' or 'unsigned' invalid for 'conversore'

 


SukkoPera

Beh, è perché c'è un altro errore: i double non sono né signed né unsigned, come ti dice il messaggio. Sono double e basta :).
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

astrobeed

Oltre al fatto del unsigned che non vuole questa assegnazione, "double conversore = 1 / 1000000;" vale 0 perché su Arduino, e in generale su tutte le mcu 8 bit, i double sono dei normali float a 32 bit, 7 cifre decimali sono fuori range.
Scientia potentia est

gpb01

>angelogab:  il tuo post è stato separato da questa discussione ed è stato creato un nuovo thread QUI.

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up