Apparement il n'y a pas de librairie à ajouter pour l'utiliser et la sram est mapper automatiquement BIZARRE ça?
The QuadRAM Shield includes the following features:
512 kilobytes of external zero-wait-state SRAM
SRAM directly mapped into microcontroller address space-no serial I2C interface required, no libraries needed
Compatible with Arduino MEGA or MEGA2560 (or other compatible boards), Rugged Circuits Rugged MEGA
Powered directly from Arduino- no additional power supply required
Mais lorsque je regarde les exemple d'utilisation ça ma pas l'air si simple que ça à utilisé, en tout cas je comprend pas grand chose.
Pour simplifier je vous poste le résumé de mon code:
*/ Voici mon fameux tableau que je voudrais mettre en SRAM externe /*
define DATA_SIZE 550 // Taille du buffer de contruction des donnees
char data[DATA_SIZE]; // Buffer non trier (cellule vide + cellule remplit)
// On initialise notre tableau data
memset(data, 0, DATA_SIZE);
*/ Ici je remplit mon tableau /*
// Sonde de temperature
strcat(data, "&temp1=");
floatTo2TabChar(heating1, data);
[... ici environ 100 fois les 2 lignes ci-dessus...]
strcat(data, "&hygro1=");
intToTabChar(hygrometry, data);
*/ Ici ma fonction supprime les données vide de mon tableau data et le découpe en 64 caractères pour l'envoyer via le wifi à mon serveur web
Note: cela me permet de divisé par 3 le temps d'envois des données (techniquement je sais plus la raison)/*
wifiSendData(data);
client.flush();
client.stop();
Le détail sur mes 2 fonctions utilisé ci dessus :
void intToTabChar(int nbr, char data[])
{
int DATATMP_SIZE = 6; //6
char dataTmp[DATATMP_SIZE];
memset(dataTmp,0,DATATMP_SIZE);
itoa(nbr,dataTmp,10); // radix: 2=binary "10=decimal" 16=hexadecimal
strcat(data,dataTmp);
}
void floatTo2TabChar(float number, char data[])
{
int DATATMP_SIZE = 8; //8 //Valeur la plus longue (-127.00)
char dataTmp[DATATMP_SIZE];
// On rempli notre tableau de caractere NULL
memset(dataTmp,0,DATATMP_SIZE);
// On met la partie antiere du nombre dans le tableau
itoa (int(number), dataTmp, 10);// radix: 2=binary "10=decimal" 16=hexadecimal
strcat(data,dataTmp);
// On recupere la partie decimal
number -= int(number); // On soustrait le nombre par son entier
number *= 100; // On multiplie *100 les décimales
// On ajoute le point de separation des antiers de la decimal
strcat(data,".");
// On met la partie decimal du nombre dans le tableauf
memset(dataTmp,0,DATATMP_SIZE);
itoa (int(number), dataTmp, 10); // radix: 2=binary "10=decimal" 16=hexadecimal
strcat(data,dataTmp);
}
Ici les exemples d'utilisation du module, si cela parle à quelqu'un pourriez vous m'aiguillez?
Merci d'avance!
[/code]