Pages: 1 [2]   Go Down
Author Topic: [TUTORIAL] Utilizzo di AVR Studio 5.1 per progetti Arduino  (Read 3296 times)
0 Members and 1 Guest are viewing this topic.
Parma
Offline Offline
Edison Member
*
Karma: 20
Posts: 2356
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusami non avevo provato e credevo fosse da reimpostare. Perfetto funziona, grazie!
Logged

Verona
Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho seguito alla lettera il tutorial, tutto bene. Sono riuscito a compilare l'esempio DS18B20 senza errori ma poi facendo ulteriori prove ho pensato di provare l'esempio allegato in arduino webserver. Ho controllato tutti gli include <> e sostituiti con "", le librerie sono tutte incluse come link,  ma nella compilazione da una valanga di errori, dove posso aver sbagliato?

Guardando il log della compilazione vedo tanti errori come questo:
Code:
Client.o: In function `Client::peek()':
C:\XML\Dropbox\Ardustudio\Progetti\Arduino-00235\Arduino-00235\Debug/../../../../libraries-0023/Ethernet/Client.cpp(90,1): undefined reference to `peek(unsigned char, unsigned char*)'

allego tutto il log..


 






* errori.txt (18.42 KB - downloaded 20 times.)
Logged

Rovereto
Offline Offline
Full Member
***
Karma: 0
Posts: 152
La luce e' piu' veloce del suono. Per questo motivo alcune persone sembrano brillanti fino a quando non parlano.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Trovato l'inghippo  smiley-wink
Hai correttamente puntato a C:\XML\Dropbox\Ardustudio\libraries-0023\Ethernet\utility in Directories del Compiler ma ti sei dimenticato di linkare nel progetto i files socket.cpp, socket.h, w5100.cpp e w5100.h.
Fatto questo la compilazione termina con successo.

Code:
Done building target "Build" in project "ArduinoWebserver.cppproj".
Done building project "ArduinoWebserver.cppproj".

Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========

Ciao
QP
Logged

Verona
Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

perfetto grazie, mi devo un po' abituare ad aggiugere queste benedette librerie.

Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti,
dopo aver seguito l'ottimo tutorial per AVRstudio (Mille grazie!!!!) sto tentando di migrare un mio progetto che include un sacco di librerie esterne, ora, sono riuscito a fare il porting di tutto il progetto, tranne per la parte riguardante la lettura/scrittura file su SDcard con la libreria ufficiale inclusa in Arduino1.

Non c'è verso di compilarla, in quanto restituisce un errore sulla classe SD dicendo che il metodo close non è dichiarato (no ho sottomano l'errore corretto).

Ho provato in mille modi ma non ne esco.

Se qualcuno avesse voglia di provare a compilare questo semplice esempio (Arduino ufficiale) con avrstudio e dirmi dove sbaglio (o cosa devo correggere in SD.cpp) mi farebbe un grande favore.

Code:
/*
  SD card read/write
 
 This example shows how to read and write data to and from an SD card file 
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 
 created   Nov 2010
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe
 
 This example code is in the public domain.
     
 */
 
#include <SD.h>

File myFile;

void setup()
{
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");
  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
  // Note that even if it's not used as the CS pin, the hardware SS pin
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output
  // or the SD library functions will not work.
   pinMode(10, OUTPUT);
   
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");
 
  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  myFile = SD.open("test.txt", FILE_WRITE);
 
  // if the file opened okay, write to it:
  if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
    // close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
 
  // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");
   
    // read from the file until there's nothing else in it:
    while (myFile.available()) {
        Serial.write(myFile.read());
    }
    // close the file:
    myFile.close();
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

void loop()
{
    // nothing happens after setup
}
Logged


0
Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Arieccomi...
ho risolto l'arcano mistero dopo innumerevoli smadonnamenti (e dopo aver bruciato un RTC che poverino non ne poteva nulla, ma si è trovato in mezzo  smiley-cry smiley-cry )

ho incluso anche gli header che stanno nella cartella utility della libreria SD, e ho corretto le include da <> a "".

a questo punto compila (e funziona) che è un amore....


Ciao a tutti e buona notte
Logged


Parma
Offline Offline
Edison Member
*
Karma: 20
Posts: 2356
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per aggiornare il tutorial all'IDE 1.01 direi che c'è da aggiungere nella cartella ArduStudio\cores il file pins_arduino.h che si trova in arduino-1.0.1\hardware\arduino\variants\standard

Ciao
Logged

Parma
Offline Offline
Edison Member
*
Karma: 20
Posts: 2356
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Concludo dicendo che per qualche inspiegabile bug del toolchain risulta impossibile utilizzare librerie quali la SD.

Error   1   undefined reference to `vtable for SdFile
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Attento alle include, all'importazione "ricorsiva" di tutti i .c .c++ e .h, io avevo anche lo stesso errore, e dopo  aver sistemato correttamente tutto cio, ora compila perfettamente anche la libreria SD; però sto usando le librerie di Arduino 1.0

Per "ricorsirva" intendo: controlla nelle librerie gli include che richiedono e caricali nel solution explorer.

Inoltre occhio a inserire sempre il path alla libreria anche nelle opzioni del compilatore.

Spero che tu risolva il problema.


Bye



Logged


Pages: 1 [2]   Go Up
Jump to: