Grandegiove Inserito: 4 luglio 2011 Segnala Share Inserito: 4 luglio 2011 (modificato) Buongiorno a tutti, dovrei realizzare un'applicazione per il quale devo prevedere la possibilità di scaricare una serie di dati che possano in un secondo tempo essere gestiti da un PC.Le soluzioni possibili sono quindi prevedre il collegamento USB col PC oppure il salvataggio su memoria USB oppure salvataggio su memoria SD o su altro supporto, etc..Non avendo esperienza nel campo e volendo realizzarlo con un PIC la soluzione più semplice che mi è venuta in mente è quella di utilizzare la libreria di MikroC (o MikroC Pro) per salvare su memorie SD.Vi chiedo quindi:- qualcuno ha già operato in tal senso e potrebbe darmi qualche dritta sul come iniziare e soprattutto dirmi se ho optato per la scelta giusta (son sempre in tempo a cambiare) considerando il ristretto tempo che ho a disposizione per lo sviluppo?- formattare il file salvato in formato excel è molto più complesso rispetto a salvare un .txt o solo questione di formattazione. In termini pratici che bisogna fare?Qualsiasi opinione o aiuto pratico è ben accetto.. Grazie mille!Buona giornata!!! Modificato: 4 luglio 2011 da Grandegiove Link al commento Condividi su altri siti More sharing options...
Grandegiove Inserita: 4 luglio 2011 Autore Segnala Share Inserita: 4 luglio 2011 Nota: pensavo di utilizzare PIC 18F Link al commento Condividi su altri siti More sharing options...
RealTime Inserita: 4 luglio 2011 Segnala Share Inserita: 4 luglio 2011 La creazione di un driver basso livello per SD e Micro SD card non è particolarmente difficoltoso. In rete trovi molto codice inerente a questi dispositivi. Molto più complesso è il discorso del file system. Se vuoi utilizzare la SD card come semplice memoria RAW per memorizzare uno o più file non hai bisogno di un vero e proprio file system, potresti semplicemente memorizzare i files in indirizzi prestabiliti (Allocazione Statica).Se intendi creare un file system compatibile, ovvero con la possibilità di leggere le cartucce da PC allora ti devi orientare verso un vero e proprio file-systemIl più appropriato per una SD card è sicuramente il FAT32In rete ci sono codici per suddetto FS, ovviamente sono abbastanza complessiRealTime Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 5 luglio 2011 Segnala Share Inserita: 5 luglio 2011 Ciao.Se vuoi interfacciarti con un PC devi per forza utilizzare un file system (FAT16 o 32: vanno bene entrambe).Sul sito della Microchip trovi le librerie per le SD o MDD valide per PIC18, PIC24, dsPIC e PIC32.Devi stare attento alle funzioni di base perche' si interfacciano (come collegamento fisico) ad una "PICtail Plus" (e' una demo board).Se fai tu l'hardware ti basta mantenere gli stessi collegamenti.Buon lavoro. Link al commento Condividi su altri siti More sharing options...
RealTime Inserita: 5 luglio 2011 Segnala Share Inserita: 5 luglio 2011 Viste le dimensioni "generose" delle SD Card FAT16 è un po' strettino.FAT16 ammette un massimo 65525 data clusters per un totale di 33548800 bytes (33MBytes)Se vuoi utilizzare tutto lo spazio disponibile usa direttamente FAT32L'utilizzo di una SD Card NON IMPLICA obbligatoriamente l'utilizzo di UN FILE SYSTEM.La SD Card può essere vista come un qualsiasi altro array di memoria, indirizzabile a piacimento. L'utilizzo di un FILE SYSTEM compatibile offre la possibilità di lettura/scrittura su altri sistemiRealTime Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 5 luglio 2011 Segnala Share Inserita: 5 luglio 2011 Per RealTime.Curiosità: da dove salta fuori "33548800" ?Ciao. Link al commento Condividi su altri siti More sharing options...
RealTime Inserita: 5 luglio 2011 Segnala Share Inserita: 5 luglio 2011 Sì, calcolo errato65525 = Numero massimo di clusters nella FAT1665525 * CLUSTER_SIZE (2048/4096/8192)Con cluster = 2048 Bytes (Tipico)65525 * 2048 = 134195200 = 134MbytesCon cluster = 4096 Bytes65525 * 4096 = 268390400= Circa 250 Mega65525 * 8192 = 500Mbetc ....Il problema e' che manipolare clusters piu' grandi di qualche Kb e' oneroso per un micro di questa fascia ...RealTime Link al commento Condividi su altri siti More sharing options...
RealTime Inserita: 5 luglio 2011 Segnala Share Inserita: 5 luglio 2011 Il calcolo di prima era inerente ad un cluster pari alla dimensione di un settore (512Bytes)RealTime Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 6 luglio 2011 Segnala Share Inserita: 6 luglio 2011 Precisazione: fat16 = 65535 (non 65525).Ciao. Link al commento Condividi su altri siti More sharing options...
RealTime Inserita: 6 luglio 2011 Segnala Share Inserita: 6 luglio 2011 No, e' corretto 65525Agli albori dei tempi la Microsoft aveva lasciato alcuni "codici" speciali per segnalare le varie tipologie di cluster. Valori sopra 65525 non vanno utilizzatiI codici erano riferiti a :- Cluster non utilizzabile (guasto)- Cluster riservato ...- etc ...RealTime Link al commento Condividi su altri siti More sharing options...
RealTime Inserita: 6 luglio 2011 Segnala Share Inserita: 6 luglio 2011 ... ed ovviamente c'era il codice riservato come marcatore di END-OF-CHAIN della catena dei clusters RealTime Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 7 luglio 2011 Segnala Share Inserita: 7 luglio 2011 Non vorrei innescare una polemica...I cluster, che tu possa utilizzarli o no, rimangono 65535.Ciao. Link al commento Condividi su altri siti More sharing options...
RealTime Inserita: 7 luglio 2011 Segnala Share Inserita: 7 luglio 2011 No, nessuna polemica questa e' la specifica FAT16Anche se i 16 bits della FAT-ENTRY permettono 2^16 = 65535 la Microsoft aveva stabilito alcuni codici particolari per identificare particolari situazioni ed eventuali errori.Questa e' la tabella come riportato da DOS FAT16 Specification 19810000h Available Cluster0002h-FFEFh Used, Next Cluster in FileFFF0h-FFF6h Reserved ClusterFFF7h BAD ClusterFFF8h-FFFF Used, Last Cluster in FileCome vedi i possibili indici clusters vanno da 0002H-FFEFH con una possibilita' di indicizzare un massimo di 65517 clusters. Come tutte le cose, dato che la diffusione della FAT16 e' stata mondiale, si sono formati tutta una serie di dialetti ed errori formali.L'unica certezza e' che NON E' POSSIBILE utilizzare tutto il dominio numerico di una entry a 16 bits per indirizzare i clustersRealTime Link al commento Condividi su altri siti More sharing options...
RESNIC Inserita: 11 luglio 2011 Segnala Share Inserita: 11 luglio 2011 Buongiorno,Con Microchip esiste la AN1045 che ti permette di creare una base di partenza per il tuo progetto.Naturalmente è una mbase dio partenza funzionante, poi i ricami li devi mettere tu... 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