FabioClipper Inserito: 17 novembre 2016 Segnala Share Inserito: 17 novembre 2016 Scusate, ho acquistato da poco una scheda Arduino uno e sto imparando a programmarla. Faccio presente che non so nulla sulla sua programmazione e sto imparando con esempi tratti da internet e da un libro che ho acquistato. L'esercitazione prevede una comunicazione seriale con la scheda al fine di accendere o spegnere un Led a seconda della situazione in cui si trova una determinata uscita. Ho provato altri esempi e tutto va bene, quando poi lancio il file che segue iniziano i problemi. const unsigned int LED_PIN=13; const unsigned int BAUD_RATE=9600; void setup(){ pinMode(LED_PIN, OUTPUT); Serial.begin(BAUD_RATE); } void Loop(){ if(Serial.available()>0){ int command=Serial.read(); if(command='1'){ digitalWrite(LED_PIN, HIGH); Serial.println("LED on"); }else if(command='2'){ digitalWrite(LED_PIN, LOW); Serial.println("LED off"); }else{ Serial.print("Unknown command:"); Serial.println(command); } } } Quando eseguo la verifica ottengo il seguente errore: C:\programmi\arduino\hardaware\arduino\avr\cores\arduino/main.cpp:43 undefined reference to 'loop' collect2: error id returned 1 exit status Errore durante la compilazione. Rappresento che attualmente ho ricaricato l'IDE versione I.58, prima avevo l'ultima versione. ho provato ad aggiornare le librerie. Ho anche provato a cancellare il file collect2.exe e tutto quello che lo riguardava. rappresento che con le versioni aggiornate ottengo soltanto: collect2: error id returned 1 exit status. Sapreste dirmi come risolvere il problema, atteso che ho anche provato a cambiare PC e sistema operativo da XP a Seven. Io ringrazio Saluti Link al commento Condividi su altri siti More sharing options...
trapanella Inserita: 17 novembre 2016 Segnala Share Inserita: 17 novembre 2016 probabilmente negli if devi mettere doppi == non e un assegnazione,poi la variabile led pin la puoi nominare solo int infine la riga serial.begin(9600)scrivila cosi non ce bisogno di creare una variabile baud-rate penso non sono molto pratico Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 18 novembre 2016 Segnala Share Inserita: 18 novembre 2016 Notazione di servizio: quando inserisci un programma usa l'opzione "code", è quel tasto con l'icona "<>" altrimenti si capisce poco o nulla. Quel programma, se ricordo bene, è tratto da un libro di elettronicaIn e dovrebbe funzionare. Se nelle impostazioni dell'IDE scegli l'opzione "visualizza il numero di righe" ti sarà più facile la ricerca degli errori di compilazione. Sicuramente gli "=" nei test devono diventare "==" perchè il segno "=" serve per assegnare un valore; ad esempio se scrivi int iconta = 10; assegni il valore 10 alla variabile intera iconta. Link al commento Condividi su altri siti More sharing options...
FabioClipper Inserita: 18 novembre 2016 Autore Segnala Share Inserita: 18 novembre 2016 Ho fatto come avete detto, ringrazio, all'inizio continuava a non funzionare comunque, quindi ho provato a eliminare tutti i rientri riga, perchè venendo dal Visual basic sono abituato a inserire rientri di riga a scaletta per meglio leggere il listato. La nuova versione ora è senza rientri e funziona correttamente su ambedue i PC in uso, quindi da quello che ho capito i rientri danno problemi di funzionamento. Grazie a tutti Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 19 novembre 2016 Segnala Share Inserita: 19 novembre 2016 Assolutamente no. Se danno problemi è perchè ti si è inserito un carattere non visibile che disturba il compilatore. Questo succede a volte quando si fa il copia-incolla. Link al commento Condividi su altri siti More sharing options...
FabioClipper Inserita: 24 novembre 2016 Autore Segnala Share Inserita: 24 novembre 2016 Grazie Livio, ora per imparare meglio riscrivo il programma per intero, poi utilizzo la funzione formattazione automatica e per adesso sembra funzionare, ho già continuato su altri programmi, e il problema non è più apparso. Da quello che ho capito, il linguaggio in uso è una versione del C++ quindi è come programmare in C? Grazie e salutii Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 25 novembre 2016 Segnala Share Inserita: 25 novembre 2016 Si praticamente, salvo piccole varianti, arduino si programma in "C". Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora