1

salut , je comprend pas !!!rage

je sais pas si c'est une question de newbie, mais je comprend pas ou ca va pas:
ca marche (sauf qu'y a 2 colonnes de pixel blancs) mais a la fin l'ecran est restauré, l'indicateur BUSY reste et la calto est plantée. rage

void scroll(void)
{
long a,b,c,d;
char *mem=LCD_MEM;
long *ligne;
long depl;
long *deplpoint;

deplpoint=&depl;
ligne=malloc(50);
for(c=0;c<100;c++)
{
memcpy(ligne,mem+30*c,30);
for(b=0;b<11;b++)
{
memcpy(deplpoint,ligne+b*2,4);
depl=depl<<1;
memcpy(ligne+b*2,deplpoint,4);
}
memcpy(mem+30*c,ligne,30);
for(d=1;d<100000;d++) ;
}
free(ligne); //je sais qu'il saute cette fonction mais il termine quand meme le prgm
//je l'ai verifié avec des printf() (si la string s'affiche, c'est qu'il a executé
//l'instruction)
}

merci de me repondre.

2

l'erreur a les symptomes d'une erreur dans l'allocation ..

3

C'est à dire une erreur de ma part ou une erreur de la fonction d'allocation ?

4

J'ai trouvé !!!smilesmile
deja il faut une ligne de destination : ne pas reecrire ds la ligne source
deuxiemement, j'utilisait les pointeur ligne et deplpoint comme pointeur de type char alors qu'ils etaient de type longroll ... donc y depassait des zone allouées