Problème copie de tableau en C
Fermé
Giahuefr
-
22 mai 2008 à 10:54
shuya89 Messages postés 470 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 28 novembre 2014 - 22 mai 2008 à 11:54
shuya89 Messages postés 470 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 28 novembre 2014 - 22 mai 2008 à 11:54
A voir également:
- Problème copie de tableau en C
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Copie cachée - Guide
- Copie écran samsung - Guide
3 réponses
shuya89
Messages postés
470
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
28 novembre 2014
39
22 mai 2008 à 10:58
22 mai 2008 à 10:58
ba ton code a l'air bon pourtant mais quel tableau tu souhaite copie dans l'autre
désolé de faire un double-post, mais je ne trouve pas la fonction éditer, et je me suis trompé, veuillez lire
void lcd_bitmap();
{
char table[]
for(j=0; j<(sizeof(logo1)); j++) table[j] = logo1[j];
encore désolé
void lcd_bitmap();
{
char table[]
for(j=0; j<(sizeof(logo1)); j++) table[j] = logo1[j];
encore désolé
shuya89
Messages postés
470
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
28 novembre 2014
39
22 mai 2008 à 11:03
22 mai 2008 à 11:03
void lcd_bitmap();
{
char table[] ; // il te manque un point virgule la
for(j=0; j<(sizeof(logo1)); j++)
{
table[j] = logo1[j];
}
}
fais voir ton appel de fonction et comment tu créer ton tableaux logo et comment tu le remplit aussi
{
char table[] ; // il te manque un point virgule la
for(j=0; j<(sizeof(logo1)); j++)
{
table[j] = logo1[j];
}
}
fais voir ton appel de fonction et comment tu créer ton tableaux logo et comment tu le remplit aussi
Giahuefr
>
shuya89
Messages postés
470
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
28 novembre 2014
22 mai 2008 à 11:51
22 mai 2008 à 11:51
voila donc ce que j'utilise pour afficher le logo, désolé du pavé, mais je ne suis pas vraiment doué en C, je fait avec ce que je sait faire^^
//ce que je tape dans le main
lcd_bitmap(1,50,5);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Affichage d'un logo
// num: selection du logo
// x: position de depart du logo en partant du point en bas a gauche de l'image
// y: position de depart du logo en partant du point en bas a gauche de l'image
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void lcd_bitmap(char num, char xs, char ys)
{
unsigned int i, j, x, y, longueur, largeur, k=0;
x = xs;
y = ys;
switch(num)
{
case 1:
for(j=0; j<(sizeof(logo1)); j++) table[j] = logo1[j];
longueur = 128;
largeur = 8;
break;
case 2:
for(j=0; j<(sizeof(logo2)); j++) table[j] = logo2[j];
longueur = 128;
largeur = 8;
break;
case 3:
for(j=0; j<(sizeof(logo3)); j++) table[j] = logo3[j];
longueur = 128;
largeur = 8;
break;
case 4:
for(j=0; j<(sizeof(logo4)); j++) table[j] = logo4[j];
longueur = 96;
largeur = 5;
break;
case 5:
for(j=0; j<(sizeof(logo5)); j++) table[j] = logo5[j];
longueur = 240;
largeur = 16;
break;
}
for(k=0; k<(largeur); k++)
{
for(i=0; i<longueur; i++)
{
if((table[i+k*longueur] & (0b00000001)) == 0b00000001)Lcd_Allume_pixel(x, 127-(y*8));
if((table[i+k*longueur] & (0b00000010)) == 0b00000010)Lcd_Allume_pixel(x, 126-(y*8));
if((table[i+k*longueur] & (0b00000100)) == 0b00000100)Lcd_Allume_pixel(x, 125-(y*8));
if((table[i+k*longueur] & (0b00001000)) == 0b00001000)Lcd_Allume_pixel(x, 124-(y*8));
if((table[i+k*longueur] & (0b00010000)) == 0b00010000)Lcd_Allume_pixel(x, 123-(y*8));
if((table[i+k*longueur] & (0b00100000)) == 0b00100000)Lcd_Allume_pixel(x, 122-(y*8));
if((table[i+k*longueur] & (0b01000000)) == 0b01000000)Lcd_Allume_pixel(x, 121-(y*8));
if((table[i+k*longueur] & (0b10000000)) == 0b10000000)Lcd_Allume_pixel(x, 120-(y*8));
x++;
if(x>=(longueur+xs))x=xs;
}
y++;
if(y>=(largeur + ys)) y=ys;
}
}
//ce que je tape dans le main
lcd_bitmap(1,50,5);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Affichage d'un logo
// num: selection du logo
// x: position de depart du logo en partant du point en bas a gauche de l'image
// y: position de depart du logo en partant du point en bas a gauche de l'image
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void lcd_bitmap(char num, char xs, char ys)
{
unsigned int i, j, x, y, longueur, largeur, k=0;
x = xs;
y = ys;
switch(num)
{
case 1:
for(j=0; j<(sizeof(logo1)); j++) table[j] = logo1[j];
longueur = 128;
largeur = 8;
break;
case 2:
for(j=0; j<(sizeof(logo2)); j++) table[j] = logo2[j];
longueur = 128;
largeur = 8;
break;
case 3:
for(j=0; j<(sizeof(logo3)); j++) table[j] = logo3[j];
longueur = 128;
largeur = 8;
break;
case 4:
for(j=0; j<(sizeof(logo4)); j++) table[j] = logo4[j];
longueur = 96;
largeur = 5;
break;
case 5:
for(j=0; j<(sizeof(logo5)); j++) table[j] = logo5[j];
longueur = 240;
largeur = 16;
break;
}
for(k=0; k<(largeur); k++)
{
for(i=0; i<longueur; i++)
{
if((table[i+k*longueur] & (0b00000001)) == 0b00000001)Lcd_Allume_pixel(x, 127-(y*8));
if((table[i+k*longueur] & (0b00000010)) == 0b00000010)Lcd_Allume_pixel(x, 126-(y*8));
if((table[i+k*longueur] & (0b00000100)) == 0b00000100)Lcd_Allume_pixel(x, 125-(y*8));
if((table[i+k*longueur] & (0b00001000)) == 0b00001000)Lcd_Allume_pixel(x, 124-(y*8));
if((table[i+k*longueur] & (0b00010000)) == 0b00010000)Lcd_Allume_pixel(x, 123-(y*8));
if((table[i+k*longueur] & (0b00100000)) == 0b00100000)Lcd_Allume_pixel(x, 122-(y*8));
if((table[i+k*longueur] & (0b01000000)) == 0b01000000)Lcd_Allume_pixel(x, 121-(y*8));
if((table[i+k*longueur] & (0b10000000)) == 0b10000000)Lcd_Allume_pixel(x, 120-(y*8));
x++;
if(x>=(longueur+xs))x=xs;
}
y++;
if(y>=(largeur + ys)) y=ys;
}
}
shuya89
Messages postés
470
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
28 novembre 2014
39
22 mai 2008 à 11:54
22 mai 2008 à 11:54
a la place du switch met un for c'est beaucoup mieux essaye
22 mai 2008 à 11:04