|
@@ -1,31 +1,68 @@
|
|
|
#include "Eeprom.h"
|
|
#include "Eeprom.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
-uint16_t readPointerEcriture(){
|
|
|
|
|
|
|
|
|
|
|
|
+uint16_t readPointerEcriture(){
|
|
|
|
|
+ uint8_t t[2];
|
|
|
|
|
+ t[0]=0x00;
|
|
|
|
|
+ t[1]=0x00;
|
|
|
|
|
+ writeEeprom(EepromADD,t,2);
|
|
|
|
|
+ readEeprom(EepromADD,t,2);
|
|
|
|
|
+ uint16_t res = t[0]<<8 & t[1];
|
|
|
|
|
+ return res;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-void readPointerEcriture(){
|
|
|
|
|
-
|
|
|
|
|
|
|
+void writePointerEcriture(uint16_t p){
|
|
|
|
|
+ uint8_t t[4];
|
|
|
|
|
+ t[0]=0x00;
|
|
|
|
|
+ t[1]=0x00;
|
|
|
|
|
+ t[2]=(uint8_t)p>>8;
|
|
|
|
|
+ t[3]=(uint8_t)p>>8;
|
|
|
|
|
+ writeEeprom(EepromADD,t,4);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
uint16_t readPointerLecture(){
|
|
uint16_t readPointerLecture(){
|
|
|
-
|
|
|
|
|
|
|
+ uint8_t t[2];
|
|
|
|
|
+ t[0]=0x00;
|
|
|
|
|
+ t[1]=0x01;
|
|
|
|
|
+ writeEeprom(EepromADD,t,2);
|
|
|
|
|
+ readEeprom(EepromADD,t,2);
|
|
|
|
|
+ uint16_t res = t[0]<<8 & t[1];
|
|
|
|
|
+ return res;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-void readPointerLecture(){
|
|
|
|
|
-
|
|
|
|
|
|
|
+void writePointerLecture(uint16_t p){
|
|
|
|
|
+ uint8_t t[4];
|
|
|
|
|
+ t[0]=0x00;
|
|
|
|
|
+ t[1]=0x01;
|
|
|
|
|
+ t[2]=(uint8_t)p>>8;
|
|
|
|
|
+ t[3]=(uint8_t)p>>8;
|
|
|
|
|
+ writeEeprom(EepromADD,t,4);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-void writeData(uint8_t *tab, uint8_t size){
|
|
|
|
|
|
|
|
|
|
|
|
+//ne fonctionne pas a refaire on eccrit même si on arrivent a la fin
|
|
|
|
|
+void writeDataFifo(uint8_t *tab, uint8_t size){
|
|
|
|
|
+ uint8_t t[size+2];
|
|
|
|
|
+ uint16_t pr = readPointerEcriture();
|
|
|
|
|
+ t[0]=(uint8_t)pr>>8;
|
|
|
|
|
+ t[1]=(uint8_t)pr;
|
|
|
|
|
+ for (int i= 0; i<size;i++)
|
|
|
|
|
+ t[i+2]=tab[i];
|
|
|
|
|
+ writeEeprom(EepromADD,t,size+2);
|
|
|
|
|
+
|
|
|
|
|
+ pr=pr+(size/2);//
|
|
|
|
|
+ if (pr>0x800)
|
|
|
|
|
+ writePointerEcriture(pr);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-void readData(uint8_t *tab, uint8_t size){
|
|
|
|
|
|
|
+void readDataFifo(uint8_t *tab, uint8_t size){
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//fonction pour tester le hard de l'Eeprom
|
|
//fonction pour tester le hard de l'Eeprom
|
|
|
void testEeprom(){
|
|
void testEeprom(){
|
|
|
-
|
|
|
|
|
|
|
+ uint16_t add = 0x04AA;
|
|
|
|
|
+ writePointerEcriture(add);
|
|
|
|
|
+ add = readPointerEcriture();
|
|
|
}
|
|
}
|