Bonjour, Bonsoir
Je suis étudiant en électronique et je me suis lancé dans un projet sur le quelle je travaille pour moi même. Les prof ne pouvant pas toujours être la pour m'aider je fait donc appelle a vous ^^
Je possède une Matrix a LED RGB de 32x64 et pour pouvoir dessiner dessus j'ai crée un tableau 3D soit tab[3][32][8]={0};
le 3 est pour les couleur
32 = le nombre de ligne
et le 8 est du au faite que mon uprocesseur ne peux pas écrire sur les 64 LED d'un coup j'ai donc séparer ma Matrix en "index" de 8
la fonction final qui permet de charger le tableu est le suivant :
void Chargeur(unsigned char color,pos,taille,unsigned char *donnee) //charge le tableau avec une image(couleur,index,taille,ima ge)
{
unsigned char i,j,colorout;
for(j=0;j<3;j++)
{
colorout=gestion_color(color);
for(i=0;i<taille;i++)
{
tab[colorout][i][pos]=donnee[i];
}
}
}
la fonction gestion_color est un gros switch qui me permet de choisir une ou plusieurs couleur.
color = selection de la couleur (bleu,vert,rouge,cyan,magenta, jaune,blanc)
pos = index sur lequel je "dessine"
taille = taille du dessin/tableu qui contient le dessin
*donnee = pointeur qui récupere mon dessin/tableau
Ma question est donc la suivante. Comment puis-je décaler ma valeur *donnee entre les différents index ?
exemple :
index 0 index 1
xxxx xx101 xxxx xxxx ...
xxxx xx110 xxxx xxxx ...
après décalage
index 0 index 1
xxxx xx10 1xxx xxxx ...
xxxx xx11 0xxx xxxx ...
Voila voila j’espère avoir pu être assez claire est vous remercie de vos futures réponses ^^
Ps: je sais que si j'avais utiliser un arduino s'aurais été plus simple mais j'ai du faire avec se que j'avais soit le C8051F38c de chez silicon-lab
-----