Décalage de tableaux en C sur uprocesseur
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Décalage de tableaux en C sur uprocesseur



  1. #1
    Enivo

    Décalage de tableaux en C sur uprocesseur


    ------

    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

    -----
    Dernière modification par Enivo ; 20/12/2017 à 10h24.

  2. #2
    Jack
    Modérateur

    Re : Décalage de tableaux en C sur uprocesseur

    Pour une case d'indice i du tableau:
    tab[i] = (tab[i]>>1) + (tab[i-1] << 7);

  3. #3
    Enivo

    Re : Décalage de tableaux en C sur uprocesseur

    Désoler mais je ne parvient pas a comprendre se que cela va faire et/ou je dois le placer dans mon code

  4. #4
    Jack
    Modérateur

    Re : Décalage de tableaux en C sur uprocesseur

    Il faut que tu participes en travaillant un minimum.
    Renseigne-toi sur les opérateurs de décalage << et >>, prends une feuille de papier, un crayon et un gomme et essaie de voir ce que ça donne avec les 2 exemples que tu as donnés.

  5. A voir en vidéo sur Futura
  6. #5
    Enivo

    Re : Décalage de tableaux en C sur uprocesseur

    Ok après un ou deux café et avoir récrit sa sur un papier je comprend mieux x) merci bien je vais voir pour tenter qqch.

Discussions similaires

  1. Les tableaux
    Par invite00e5ff84 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 03/01/2013, 06h59
  2. Les tableaux
    Par anamir-22 dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 06/06/2012, 08h49
  3. Les tableaux
    Par anamir-22 dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 05/06/2012, 23h13
  4. Décalage d'Einstein et décalage Doppler : Questions
    Par rommelus dans le forum Physique
    Réponses: 52
    Dernier message: 16/01/2012, 16h52