Pages: [1]   Go Down
Author Topic: problema SDuFAT arduino mega 2560  (Read 329 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buongiorno, sto provando a far funzionare il modulo microSD della libelium
http://www.cooking-hacks.com/index.php/microsd-2gb-module-for-arduino.html

ho scaricato la libreria indicata per arduino mega e ho seguito le indicazioni per il collegamento.
Il problema è però in fase di compilazione: mi da i seguenti errori:

Code:
In file included from C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/SDuFAT.h:34,
                 from SD_uFAT_basic.pde:122:
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:52: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:53: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:54: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:129: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:146: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:147: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:163: error: 'byte' does not name a type
In file included from C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/SDuFAT.h:35,
                 from SD_uFAT_basic.pde:122:
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:8: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:9: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:10: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:11: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:19: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:22: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:24: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:27: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:34: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:35: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:36: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:40: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:41: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:48: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:49: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:60: error: 'byte' was not declared in this scope
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:60: error: 'buffer' was not declared in this scope
In file included from SD_uFAT_basic.pde:122:
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/SDuFAT.h:117: error: 'byte' has not been declared
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/SDuFAT.h:120: error: 'byte' has not been declared
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/SDuFAT.h:127: error: 'byte' has not been declared

La versione di Arduino è la 1.0.5
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 312
Posts: 21606
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Vedo l'estensione .pde nei messaggi di errore. Significa che quel software è stato scritto per la vecchia versione dell'IDE, la 002x.
In teoria basterebbe aprire i file della lib e cercare #include "WProgram.h" e sostituirli con #include "Arduino.h"
Poi però va visto se la lib o lo sketch necessitano di altre modifiche.
Logged


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

ok, ho fatto le sostituzioni che mi hai detto!

ora in compilazione mi da questo errore:
Code:
C:\Users\Gio\Documents\Arduino\libraries\SDuFATmod\SDuFAT.cpp: In member function 'int SDuFAT::cat(const char*)':
C:\Users\Gio\Documents\Arduino\libraries\SDuFATmod\SDuFAT.cpp:273: error: 'BYTE' was not declared in this scope
C:\Users\Gio\Documents\Arduino\libraries\SDuFATmod\SDuFAT.cpp: In member function 'int SDuFAT::append(const char*)':
C:\Users\Gio\Documents\Arduino\libraries\SDuFATmod\SDuFAT.cpp:447: error: 'BYTE' was not declared in this scope
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 312
Posts: 21606
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora la lib non è compatibile con l'IDE 1.0 e richiede ulteriori modifiche.
Non puoi usare altre lib, ad esempio la SD ufficiale o altre per gestire la uSD?
Logged


Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 102
Posts: 6541
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Considerando che nella documentazione (http://www.cooking-hacks.com/skin/frontend/default/cooking/pdf/arduino_mega_Sd.pdf) si cita l'IDE 0.15 e che nel sito c'è scritto "Library developed by David Cuartielles (Arduino team)", ti consiglio di scaricarti l'IDE 1.0.5 e utilizzare la libreria SD ufficiale, che presumo sia più aggiornata della SDuFAT.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

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

OK ho scaricato l'IDE 1.0.5 e se faccio il test con arduino UNO funziona bene!!!

Se però collego il modulo all'arduino MEGA non funziona.
Ho seguito le note su http://arduino.cc/en/Reference/SDCardNotes

help please...
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 312
Posts: 21606
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hai letto questo relativamente al tuo prodotto?
http://www.cooking-hacks.com/skin/frontend/default/cooking/pdf/arduino_mega_Sd.pdf
Logged


Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 102
Posts: 6541
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perchè l'Arduino Mega ha la distribuzione dei pin diversa e quel modulo non funzionerà.
Sulla UNO il bus SPI è mappato sui pin 11, 12 e 13, più il 10 o  il 4 come Slave Select.
Sulla MEGA sono i pin 50, 51 e 52. Mentre lo SS è sul pin 53.
Quindi ti devi armare di cavetti flessibili e rifare i collegamenti.

Cerca i pin siglati MISO, MOSI e SCKL (sono in blu) --> http://forum.arduino.cc/index.php?topic=151646.0

P.S. Se il modulo si connette tramite l'ICSP non hai problemi su nessuna scheda (compresa la DUE e la Leonardo) eccetto per il pin SS che dovrai cambiare ogni volta.
« Last Edit: August 29, 2013, 03:38:30 am by PaoloP » Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

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

Ho trovato il problema:
sulla guida http://arduino.cc/en/Reference/SDCardNotes si dice di collegare il modulo SD così:
PIN CORRECTION (da arduino UNO a Mega)
11>50
12>51
13>52
4 OR 10>53


INVECE ho trovato qui:
http://forum.arduino.cc/index.php?topic=165170.0
oppure qui:
http://arduino.cc/en/Reference/SPI

The Arduino SPI pins are:
SPI   Uno   Mega
SS   10   53
MOSI   11   51
MISO   12   50
SCK   13   52

così funziona!!!
Logged

Pages: [1]   Go Up
Jump to: