Bonjour,

J'ai des tableaux char d'une longueur assez importante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
char test1[200];
char test2[200];
char test3[200];
Je cherche à créer une fonction qui me permettrait de lire le contenu d'un tableau ( en l'appelant dans la fonction par son nom ) puis de copier son contenu dans une mémoire eeprom.

Les fonctions d'écriture dans l'eeprom existent déja et celles ci fonctionnent bien : ( déja testées )

XE2BeginWrite(EEPROM_CONTROL, address_start);
Permet de préparer l'eeprom à écrire des bits à partir d'une adresse donnée. ( à spécifier par l'utilisateur )

XE2Write;
Ecrit un bit dans l'eeprom

XE2EndWrite();
Termine l'ecriture dans l'eeprom



Je voudrai pouvoir utiliser ma fonction comme ceci
:

Eeprom2_store_table(test1, 0x000000);
ou encore :
Eeprom2_store_table(test2, 0x001000);

La fonction Eeprom2_store_table lirait tout le contenu du tableau dont le nom est indiqué, puis et copierait chacun de ses bits dans l'eeprom à partir de l'adresse spécifiée.


J'ai donc créé la fonction suivante, mais mon compilateur m'indique des erreurs que je ne sais pas résoudre :

Error [1505] redeclaration of 'table'
Comment puis faire pour indiquer à la fonction qu'elle doit attendre ici un nom de tableau ?

Warning [2054] suspicious pointer conversion
Cette ligne pose pb : je voudrai lire chaque bit du tableau appelé par la fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
for(i = 0; i < strlen(table); ++i)
Error [1129] [] operator requires a pointer and an integer as operands
Je ne sais pas comment spécifier correctement le pointer

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static void Eeprom2_store_table(char table, LWORD address_start)
 
{
    char table;
	BYTE i, *p;
	p = (BYTE*)&table;
 
 
	XE2BeginWrite(EEPROM_CONTROL, address_start);
 
    for(i = 0; i < strlen(table); ++i)
		{
    	XE2Write(table[*p++]);
    	}
    	XE2EndWrite();
}

Pourriez vous m'aider en me corrigeant svp ?
Je vous remercie beaucoup,