Élaboration d'une interface de chargement de programme
Répondre à la discussion
Affichage des résultats 1 à 26 sur 26

Élaboration d'une interface de chargement de programme



  1. #1
    aviati

    Élaboration d'une interface de chargement de programme


    ------

    Bonjour,
    l objectif est la réalisation d'interface de chargement de programme
    voila un schéma qui décrit la tache a réaliser Nom : amine.JPG
Affichages : 89
Taille : 40,6 Ko
    l interface de connexion entre l équipement(INS) et l ordinateur est la carte arduino et j ai réalisé un support RAM pour la accéder au contenu de la RAM.
    l objectif:
    j ai un programme stocke dans la RAM
    le CArte arduino realise la lecyure de données recus de la RAM:
    le programme de lecture de carte :
    Code:
    int L[13]={25,27,29,31,33,35,37,39,41,43,45,47,49};
    int SR[13]={22,24,26,28,30,32,36,38,40,42,44,46,48};
    int x;
    int A[13];
    int rr=11;
    int rt=13;
    int cp32=10;
    int rmemd=9;
    int i;
    int donnee[13];
    int teste=0;
    int a[4];
    int z=0;
    int verification=9;
    int b=2;
    
    void setup()
    {
    
    Serial.begin(9600);
    while(teste!=1)
    {
    if(Serial.available()>0)
    {
    a[z]=Serial.read();
    Serial.print(a[z]);
    z++;
    if(z==4)
    {
    if(a[0]==57 && a[1]==56 && a[2]==55 && a[3]==54)
    {
    teste=1;
    }
    z=0;
    }
    }
    }
    
    pinMode(rr,OUTPUT);
    pinMode(rt,OUTPUT); 
    pinMode(rmemd,OUTPUT);
    pinMode(cp32,OUTPUT);
    pinMode(rmemd,LOW);
    pinMode(rr,LOW);
    pinMode(rt,LOW);
    
    for(int i=0;i<13;i++)
    {
    pinMode(L[i],OUTPUT);
    pinMode(SR[i],INPUT);
    
    }
    }
    
    void loop()
    {
    for(int j=8191;j>0;j--)
    {
    digitalWrite(cp32,HIGH);
    digitalWrite(rr,HIGH);
    digitalWrite(rt,LOW);
    digitalWrite(rmemd,HIGH);
    
    
    for(int i=0;i<13;i++)
    {
    A[i]=bitRead(j,i);
    digitalWrite(L[12-i],A[i]);
    }
    
    donnee[0]=digitalRead(SR[0]);
    donnee[1]=digitalRead(SR[1]);
    donnee[2]=digitalRead(SR[2]);
    donnee[3]=digitalRead(SR[3]);
    donnee[4]=digitalRead(SR[4]);
    donnee[5]=digitalRead(SR[5]);
    donnee[6]=digitalRead(SR[6]);
    donnee[7]=digitalRead(SR[7]);
    donnee[8]=digitalRead(SR[8]);
    donnee[9]=digitalRead(SR[9]);
    donnee[10]=digitalRead(SR[10]);
    donnee[11]=digitalRead(SR[11]);
    donnee[12]=digitalRead(SR[12]);
    
    Serial.print(b);
    Serial.print(donnee[0]);
    Serial.print(donnee[1]);
    Serial.print(donnee[2]);
    Serial.print(donnee[3]);
    Serial.print(donnee[4]);
    Serial.print(donnee[5]);
    Serial.print(donnee[6]);
    Serial.print(donnee[7]);
    Serial.print(donnee[8]);
    Serial.print(donnee[9]);
    Serial.print(donnee[10]);
    Serial.print(donnee[11]);
    Serial.print(donnee[12]);
    
    digitalWrite(cp32,LOW);
    digitalWrite(rr,LOW);
    digitalWrite(rt,HIGH);
    digitalWrite(rmemd,LOW);
    }
    }
    
    apres avoir recu les données le programme réalisé a travers processing se charge du stockage des données dans un fichiers texte:
    le code processing:
    import processing.serial.*;
    Serial myport;
    PrintWriter output;
    int i;
    int[] touche=new int[4];
    int teste;
    int j;
    int e=55;
    int r;
    int c=57;
    void setup()
    {
    output=createWriter("INS.txt");
    println(Serial.list());//Liste de tous les ports série disponibles
    myport=new Serial(this,Serial.list()[0],9600);
    println("Veuillez entrer le code de verification :");//Ouvrez le port que vous utilisez au taux que vous voulez
    }
    
    void draw()
    {
    }
    
    //Appelée lorsque les données sont disponibles.
    //Utilisez l'une des méthodes de lecture () pour capturer ces données.
    void serialEvent(Serial myport)
    {if(teste==1)
    
    {
    int donnee=myport.read();
    if(donnee==50 || r==1)
    {
    r=1;
    if(donnee==50)
    {
    donnee=2;
    output.print(donnee);
    output.print(" ");
    j++;
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    }
    if(donnee==48)
    {
    donnee=0;
    output.print(donnee);
    output.print(" ");
    j++;
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    }
    }
    if(donnee==49)
    {
    donnee=1;
    output.print(donnee);
    output.print(" ");
    j++;
    
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    }
    if(i==8191)
    {
    output.flush();
    output.close();
    myport.stop();
    println("-------------  Fin du transfert  ------------------------");
    println(" Donnees enregistree avec succes ");
    exit();
    }
    }
    }
    void keyPressed()
    {
    touche[j]=key;
    j++;
    int donnee=myport.read();
    donnee=myport.read();
    donnee=myport.read();
    if(j==4)
    {
    j=0;
    if(touche[0]==(c) && touche[1]==(c-1) && touche[2]==(c-2) && touche[3]==(c-3))
    {
    println("------------- Acces accepter     ------------------------");
    myport.write(touche[0]);
    myport.write(touche[1]);
    myport.write(touche[2]);
    myport.write(touche[3]);
    delay(10);
    teste=1;
    println("------------- debut du transfert ------------------------");
    }
    else
    {
    println("Acces refuser");
    }
    }
    }
    mais le resultat obtenu:Pièce jointe 274564

    svp j ai besoin d aide pour avoir le resultat des donnees prises de la RAM
    Merci

    -----
    Dernière modification par gienas ; 02/03/2015 à 14h24. Motif: Ajout de la balise Code (#) et suppression de la pièce jointe "vide"

  2. #2
    JPL
    Responsable des forums

    Re : Élaboration d'une interface de chargement de programme

    Programme non indenté : beurk !!!! Et en plus j'ai dû ajouter la balise Code.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  3. #3
    JPL
    Responsable des forums

    Re : Élaboration d'une interface de chargement de programme

    Il y a un bug sur la pièce jointe en png. peux-tu la poster à nouveau ?
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  4. #4
    aviati

    Re : Élaboration d'une interface de chargement de programme

    le code arduino :

    Code:
    ######################################## code arduino de lecture de donnees de la memoire RAM###################################
    int L[13]={25,27,29,31,33,35,37,39,41,43,45,47,49};
    int SR[13]={22,24,26,28,30,32,36,38,40,42,44,46,48};
    int x;
    int A[13];
    int rr=11;
    int rt=13;
    int cp32=10;
    int rmemd=9;
    int i;
    int donnee[13];
    int teste=0;
    int a[4];
    int z=0;
    int verification=9;
    int b=2;
    
    void setup()
    {
    
    Serial.begin(9600);
    while(teste!=1)
    {
    if(Serial.available()>0)
    {
    a[z]=Serial.read();
    Serial.print(a[z]);
    z++;
    if(z==4)
    {
    if(a[0]==57 && a[1]==56 && a[2]==55 && a[3]==54)
    {
    teste=1;
    }
    z=0;
    }
    }
    }
    
    pinMode(rr,OUTPUT);
    pinMode(rt,OUTPUT); 
    pinMode(rmemd,OUTPUT);
    pinMode(cp32,OUTPUT);
    pinMode(rmemd,LOW);
    pinMode(rr,LOW);
    pinMode(rt,LOW);
    
    for(int i=0;i<13;i++)
    {
    pinMode(L[i],OUTPUT);
    pinMode(SR[i],INPUT);
    
    }
    }
    
    void loop()
    {
    for(int j=8191;j>0;j--)
    {
    digitalWrite(cp32,HIGH);
    digitalWrite(rr,HIGH);
    digitalWrite(rt,LOW);
    digitalWrite(rmemd,HIGH);
    
    
    for(int i=0;i<13;i++)
    {
    A[i]=bitRead(j,i);
    digitalWrite(L[12-i],A[i]);
    }
    
    donnee[0]=digitalRead(SR[0]);
    donnee[1]=digitalRead(SR[1]);
    donnee[2]=digitalRead(SR[2]);
    donnee[3]=digitalRead(SR[3]);
    donnee[4]=digitalRead(SR[4]);
    donnee[5]=digitalRead(SR[5]);
    donnee[6]=digitalRead(SR[6]);
    donnee[7]=digitalRead(SR[7]);
    donnee[8]=digitalRead(SR[8]);
    donnee[9]=digitalRead(SR[9]);
    donnee[10]=digitalRead(SR[10]);
    donnee[11]=digitalRead(SR[11]);
    donnee[12]=digitalRead(SR[12]);
    
    Serial.print(b);
    Serial.print(donnee[0]);
    Serial.print(donnee[1]);
    Serial.print(donnee[2]);
    Serial.print(donnee[3]);
    Serial.print(donnee[4]);
    Serial.print(donnee[5]);
    Serial.print(donnee[6]);
    Serial.print(donnee[7]);
    Serial.print(donnee[8]);
    Serial.print(donnee[9]);
    Serial.print(donnee[10]);
    Serial.print(donnee[11]);
    Serial.print(donnee[12]);
    
    digitalWrite(cp32,LOW);
    digitalWrite(rr,LOW);
    digitalWrite(rt,HIGH);
    digitalWrite(rmemd,LOW);
    }
    }
    ############################################## Fin de code #################################################################
    ############################################## code processing se charge du stockage des données dans un fichiers texte###########################
    
    Programme processing:
    le code processing:
    import processing.serial.*;
    Serial myport;
    PrintWriter output;
    int i;
    int[] touche=new int[4];
    int teste;
    int j;
    int e=55;
    int r;
    int c=57;
    void setup()
    {
    output=createWriter("INS.txt");
    println(Serial.list());//Liste de tous les ports série disponibles
    myport=new Serial(this,Serial.list()[0],9600);
    println("Veuillez entrer le code de verification :");//Ouvrez le port que vous utilisez au taux que vous voulez
    }
    
    void draw()
    {
    }
    
    //Appelée lorsque les données sont disponibles.
    //Utilisez l'une des méthodes de lecture () pour capturer ces données.
    void serialEvent(Serial myport)
    {if(teste==1)
    
    {
    int donnee=myport.read();
    if(donnee==50 || r==1)
    {
    r=1;
    if(donnee==50)
    {
    donnee=2;
    output.print(donnee);
    output.print(" ");
    j++;
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    }
    if(donnee==48)
    {
    donnee=0;
    output.print(donnee);
    output.print(" ");
    j++;
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    }
    }
    if(donnee==49)
    {
    donnee=1;
    output.print(donnee);
    output.print(" ");
    j++;
    
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    }
    if(i==8191)
    {
    output.flush();
    output.close();
    myport.stop();
    println("-------------  Fin du transfert  ------------------------");
    println(" Donnees enregistree avec succes ");
    exit();
    }
    }
    }
    void keyPressed()
    {
    touche[j]=key;
    j++;
    int donnee=myport.read();
    donnee=myport.read();
    donnee=myport.read();
    if(j==4)
    {
    j=0;
    if(touche[0]==(c) && touche[1]==(c-1) && touche[2]==(c-2) && touche[3]==(c-3))
    {
    println("------------- Acces accepter     ------------------------");
    myport.write(touche[0]);
    myport.write(touche[1]);
    myport.write(touche[2]);
    myport.write(touche[3]);
    delay(10);
    teste=1;
    println("------------- debut du transfert ------------------------");
    }
    else
    {
    println("Acces refuser");
    }
    }
    }
    ########################################### Fin de code################################################################
    voila l image :
    Nom : aaaa.JPG
Affichages : 98
Taille : 113,8 Ko
    Dernière modification par gienas ; 02/03/2015 à 14h27. Motif: Ajouté les balise de code obligatoires pou rles programmes!

  5. A voir en vidéo sur Futura
  6. #5
    JPL
    Responsable des forums

    Re : Élaboration d'une interface de chargement de programme

    Toujours pas de balise Code ni d'indentation. Tu vas décourager les bonnes volontés.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  7. #6
    aviati

    Re : Élaboration d'une interface de chargement de programme

    j ai compris "balise de code ni d'indentation"

  8. #7
    aviati

    Re : Élaboration d'une interface de chargement de programme

    svp est ce vous pouvez me donner plus d'exlpication ???

  9. #8
    DAUDET78

    Re : Élaboration d'une interface de chargement de programme

    Les balises [ code] et [/code]

    permette de présenter joliment du code ... et le rendre plus visible
    Code:
     
    For I=0 to 69
        Print "et ta soeur"
              For J=0 to 2015
              Next J
    Next I
    J'aime pas le Grec

  10. #9
    aviati

    Re : Élaboration d'une interface de chargement de programme

    code arduino
    Code:
    int L[13]={25,27,29,31,33,35,37,39,41,43,45,47,49};
    int SR[13]={22,24,26,28,30,32,36,38,40,42,44,46,48};
    int x;
    int A[13];
    int rr=11;
    int rt=13;
    int cp32=10;
    int rmemd=9;
    int i;
    int donnee[13];
    int teste=0;
    int a[4];
    int z=0;
    int verification=9;
    int b=2;
    
    void setup()
    {
    
    Serial.begin(9600);
    while(teste!=1)
    {
    if(Serial.available()>0)
    {
    a[z]=Serial.read();
    Serial.print(a[z]);
    z++;
    if(z==4)
    {
    if(a[0]==57 && a[1]==56 && a[2]==55 && a[3]==54)
    {
    teste=1;
    }
    z=0;
    }
    }
    }
    
    pinMode(rr,OUTPUT);
    pinMode(rt,OUTPUT); 
    pinMode(rmemd,OUTPUT);
    pinMode(cp32,OUTPUT);
    pinMode(rmemd,LOW);
    pinMode(rr,LOW);
    pinMode(rt,LOW);
    
    for(int i=0;i<13;i++)
    {
    pinMode(L[i],OUTPUT);
    pinMode(SR[i],INPUT);
    
    }
    }
    
    void loop()
    {
    for(int j=8191;j>0;j--)
    {
    digitalWrite(cp32,HIGH);
    digitalWrite(rr,HIGH);
    digitalWrite(rt,LOW);
    digitalWrite(rmemd,HIGH);
    
    
    for(int i=0;i<13;i++)
    {
    A[i]=bitRead(j,i);
    digitalWrite(L[12-i],A[i]);
    }
    
    donnee[0]=digitalRead(SR[0]);
    donnee[1]=digitalRead(SR[1]);
    donnee[2]=digitalRead(SR[2]);
    donnee[3]=digitalRead(SR[3]);
    donnee[4]=digitalRead(SR[4]);
    donnee[5]=digitalRead(SR[5]);
    donnee[6]=digitalRead(SR[6]);
    donnee[7]=digitalRead(SR[7]);
    donnee[8]=digitalRead(SR[8]);
    donnee[9]=digitalRead(SR[9]);
    donnee[10]=digitalRead(SR[10]);
    donnee[11]=digitalRead(SR[11]);
    donnee[12]=digitalRead(SR[12]);
    
    Serial.print(b);
    Serial.print(donnee[0]);
    Serial.print(donnee[1]);
    Serial.print(donnee[2]);
    Serial.print(donnee[3]);
    Serial.print(donnee[4]);
    Serial.print(donnee[5]);
    Serial.print(donnee[6]);
    Serial.print(donnee[7]);
    Serial.print(donnee[8]);
    Serial.print(donnee[9]);
    Serial.print(donnee[10]);
    Serial.print(donnee[11]);
    Serial.print(donnee[12]);
    
    digitalWrite(cp32,LOW);
    digitalWrite(rr,LOW);
    digitalWrite(rt,HIGH);
    digitalWrite(rmemd,LOW);
    }
    }

  11. #10
    aviati

    Re : Élaboration d'une interface de chargement de programme

    Code processing
    Code:
    import processing.serial.*;
    Serial myport;
    PrintWriter output;
    int i;
    int[] touche=new int[4];
    int teste;
    int j;
    int e=55;
    int r;
    int c=57;
    void setup()
    {
    output=createWriter("INS.txt");
    println(Serial.list());//Liste de tous les ports série disponibles
    myport=new Serial(this,Serial.list()[0],9600);
    println("Veuillez entrer le code de verification :");//Ouvrez le port que vous utilisez au taux que vous voulez
    }
    
    void draw()
    {
    }
    
    //Appelée lorsque les données sont disponibles.
    //Utilisez l'une des méthodes de lecture () pour capturer ces données.
    void serialEvent(Serial myport)
    {if(teste==1)
    
    {
    int donnee=myport.read();
    if(donnee==50 || r==1)
    {
    r=1;
    if(donnee==50)
    {
    donnee=2;
    output.print(donnee);
    output.print(" ");
    j++;
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    }
    if(donnee==48)
    {
    donnee=0;
    output.print(donnee);
    output.print(" ");
    j++;
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    }
    }
    if(donnee==49)
    {
    donnee=1;
    output.print(donnee);
    output.print(" ");
    j++;
    
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    }
    if(i==8191)
    {
    output.flush();
    output.close();
    myport.stop();
    println("-------------  Fin du transfert  ------------------------");
    println(" Donnees enregistree avec succes ");
    exit();
    }
    }
    }
    void keyPressed()
    {
    touche[j]=key;
    j++;
    int donnee=myport.read();
    donnee=myport.read();
    donnee=myport.read();
    if(j==4)
    {
    j=0;
    if(touche[0]==(c) && touche[1]==(c-1) && touche[2]==(c-2) && touche[3]==(c-3))
    {
    println("------------- Acces accepter     ------------------------");
    myport.write(touche[0]);
    myport.write(touche[1]);
    myport.write(touche[2]);
    myport.write(touche[3]);
    delay(10);
    teste=1;
    println("------------- debut du transfert ------------------------");
    }
    else
    {
    println("Acces refuser");
    }
    }
    }

  12. #11
    aviati

    Re : Élaboration d'une interface de chargement de programme

    resultat obtenu :
    Nom : aaaa.JPG
Affichages : 77
Taille : 113,8 Ko

    je dois obtenir les données enregistrer dans la RAM

  13. #12
    DAUDET78

    Re : Élaboration d'une interface de chargement de programme

    C'est illisible sans indentation (on ne voit pas les blocs d'instruction !)
    Code:
    if(donnee==50 || r==1)
    {
      r=1;
      if(donnee==50)
          {
          donnee=2;
          output.print(donnee);
          output.print(" ");
          j++;
          if(j==14)
             {
             j=0;
             output.println(" ");
             i++;
             println(i);
             r=0;
            }
         }
    J'aime pas le Grec

  14. #13
    aviati

    Re : Élaboration d'une interface de chargement de programme

    donc je dois faire quoi ??

  15. #14
    DAUDET78

    Re : Élaboration d'une interface de chargement de programme

    Mettre des espaces pour séparer les blocs ......(voir mon exemple #12)
    J'aime pas le Grec

  16. #15
    aviati

    Re : Élaboration d'une interface de chargement de programme

    Code:
    import processing.serial.*;
    Serial myport;
    PrintWriter output;
    int i;
    int[] touche=new int[4];
    int teste;
    int j;
    int e=55;
    int r;
    int c=57;
    
    
    void setup()
    {
    output=createWriter("INS.txt");
    println(Serial.list());//Liste de tous les ports série disponibles
    myport=new Serial(this,Serial.list()[0],9600);
    println("Veuillez entrer le code de verification :");//Ouvrez le port que vous utilisez au taux que vous voulez
    }
    
    
    void draw()
    {
    }
    
    
    
    void serialEvent(Serial myport)
    {
    
    if(teste==1)
    {
                int donnee=myport.read();
                if(donnee==50 || r==1)
                                                  {
                                                    r=1;
                                                    if(donnee==50)
                                                                            {
                                                                             donnee=2;
                                                                             output.print(donnee);
                                                                             output.print(" ");
                                                                             j++;
                                                                             if(j==14)
                                                                                         {
                                                                                           j=0;
                                                                                           output.println(" ");
                                                                                           i++;
                                                                                           println(i);
                                                                                           r=0;
                                                                                          }
                                                                             }
    
                                                       if(donnee==48)
                                                                            {
                                                                             donnee=0;
                                                                             output.print(donnee);
                                                                             output.print(" ");
                                                                             j++;
                                                                             if(j==14)
                                                                                          {
                                                                                            j=0;
                                                                                            output.println(" ");
                                                                                            i++;
                                                                                            println(i);
                                                                                            r=0;
                                                                                            }
                                                                              }
                                                          }
                                                         if(donnee==49)
                                                                               {
                                                                                donnee=1;
                                                                                output.print(donnee);
                                                                                output.print(" ");
                                                                                 j++;
    
                                                                                 if(j==14)
                                                                                             {
                                                                                              j=0;
                                                                                              output.println(" ");
                                                                                               i++;
                                                                                               println(i);
                                                                                                r=0;
                                                                                               }
                                                                                   }
    if(i==8191)
    {
    output.flush();
    output.close();
    myport.stop();
    println("-------------  Fin du transfert  ------------------------");
    println(" Donnees enregistree avec succes ");
    exit();
    }
    }
    }
    void keyPressed()
    {
    touche[j]=key;
    j++;
    int donnee=myport.read();
    donnee=myport.read();
    donnee=myport.read();
    if(j==4)
    {
    j=0;
    if(touche[0]==(c) && touche[1]==(c-1) && touche[2]==(c-2) && touche[3]==(c-3))
    {
    println("------------- Acces accepter     ------------------------");
    myport.write(touche[0]);
    myport.write(touche[1]);
    myport.write(touche[2]);
    myport.write(touche[3]);
    delay(10);
    teste=1;
    println("------------- debut du transfert ------------------------");
    }
    else
    {
    println("Acces refuser");
    }
    }
    }

  17. #16
    Jack
    Modérateur

    Re : Élaboration d'une interface de chargement de programme

    C'est vraiment du foutage de gue.. : en se renseignant un minimum (http://fr.wikipedia.org/wiki/Style_d%27indentation) on comprend qu'une indentation raisonnable est de l'ordre de 2 à 4 espaces et pas 30 à 40. Le but est de faciliter la lecture du code.

    De plus seule une partie du code a été indentée, la fin ne le méritant apparemment pas ...

  18. #17
    aviati

    Re : Élaboration d'une interface de chargement de programme

    est ce qu il n y a de reponse a propos de ma question .merci

  19. #18
    aviati

    Re : Élaboration d'une interface de chargement de programme

    pas de reponse ????

  20. #19
    DAUDET78

    Re : Élaboration d'une interface de chargement de programme

    Citation Envoyé par aviati Voir le message
    pas de reponse ????
    je crois qu'il faut (peut être) chercher la cause ici
    Citation Envoyé par Jack Voir le message
    C'est vraiment du foutage de gue.. : en se renseignant un minimum (http://fr.wikipedia.org/wiki/Style_d%27indentation) on comprend qu'une indentation raisonnable est de l'ordre de 2 à 4 espaces et pas 30 à 40. Le but est de faciliter la lecture du code.

    De plus seule une partie du code a été indentée, la fin ne le méritant apparemment pas ...
    J'aime pas le Grec

  21. #20
    aviati

    Re : Élaboration d'une interface de chargement de programme

    svp j ai pas compris si vous voulez me donner plus d explication ??

  22. #21
    DAUDET78

    Re : Élaboration d'une interface de chargement de programme

    Voir ma réponse #12 ....
    • Une bonne présentation d'un programme lisible avec des lignes documentées est un plus pour avoir des chances de réponses
    • Une mauvaise présentation d'un programme illisible avec des lignes non documentées est voué à l'échec !
    J'aime pas le Grec

  23. #22
    aviati

    Re : Élaboration d'une interface de chargement de programme

    la carte arduino realise la lecture des donnees recu de la RAM
    le coden de lecture de programme:
    Code:
    //Pin D'adresse :
    int L[13]={25,27,29,31,33,35,37,39,41,43,45,47,49};
    //Pin de donnée :
    int SR[13]={22,24,26,28,30,32,36,38,40,42,44,46,48};
    int x;
    int A[13];
    int rr=11;
    int rt=13;
    //Pin d'horloge
    int cp32=10;
    int rmemd=9;
    int i;
    int donnee[13];
    int teste=0;
    int a[4];
    int z=0;
    int verification=9;
    int b=2;
    
    void setup()
    {
    
    Serial.begin(9600);
    while(teste!=1)
    {
    if(Serial.available()>0)
    {
    a[z]=Serial.read();
    Serial.print(a[z]);
    z++;
    if(z==4)
    {
    if(a[0]==57 && a[1]==56 && a[2]==55 && a[3]==54) //Code de verification 
    {
    teste=1;
    }
    z=0;
    }
    }
    }
    
    pinMode(rr,OUTPUT);
    pinMode(rt,OUTPUT); 
    pinMode(rmemd,OUTPUT);
    pinMode(cp32,OUTPUT);
    pinMode(rmemd,LOW);
    pinMode(rr,LOW);
    pinMode(rt,LOW);
    
    for(int i=0;i<13;i++)
    {
    pinMode(L[i],OUTPUT);
    pinMode(SR[i],INPUT);
    
    }
    }
    
    void loop()
    {
    for(int j=8191;j>0;j--)
    {
    //Coup d'horloge
    digitalWrite(cp32,HIGH);
    digitalWrite(rr,HIGH);
    digitalWrite(rt,LOW);
    digitalWrite(rmemd,HIGH);
    
    
    for(int i=0;i<13;i++)
    {
    A[i]=bitRead(j,i);
    digitalWrite(L[12-i],A[i]);
    }
    
    donnee[0]=digitalRead(SR[0]);
    donnee[1]=digitalRead(SR[1]);
    donnee[2]=digitalRead(SR[2]);
    donnee[3]=digitalRead(SR[3]);
    donnee[4]=digitalRead(SR[4]);
    donnee[5]=digitalRead(SR[5]);
    donnee[6]=digitalRead(SR[6]);
    donnee[7]=digitalRead(SR[7]);
    donnee[8]=digitalRead(SR[8]);
    donnee[9]=digitalRead(SR[9]);
    donnee[10]=digitalRead(SR[10]);
    donnee[11]=digitalRead(SR[11]);
    donnee[12]=digitalRead(SR[12]);
    
    Serial.print(b);
    Serial.print(donnee[0]);
    Serial.print(donnee[1]);
    Serial.print(donnee[2]);
    Serial.print(donnee[3]);
    Serial.print(donnee[4]);
    Serial.print(donnee[5]);
    Serial.print(donnee[6]);
    Serial.print(donnee[7]);
    Serial.print(donnee[8]);
    Serial.print(donnee[9]);
    Serial.print(donnee[10]);
    Serial.print(donnee[11]);
    Serial.print(donnee[12]);
    
    digitalWrite(cp32,LOW);
    digitalWrite(rr,LOW);
    digitalWrite(rt,HIGH);
    digitalWrite(rmemd,LOW);
    }
    }

  24. #23
    aviati

    Re : Élaboration d'une interface de chargement de programme

    le probleme au niveau du code processing qui se chqrgz du stockage des donnees dans un fichier texte c est a ce niveau ou il y a le problemme

  25. #24
    aviati

    Re : Élaboration d'une interface de chargement de programme

    Code:
    import processing.serial.*;
    Serial myport;
    PrintWriter output;
    int i;
    int[] touche=new int[4];
    int teste;
    int j;
    int e=55;
    int r;
    int c=57;
    
    
    void setup()
    {
    output=createWriter("INS.txt");
    println(Serial.list());//Liste de tous les ports série disponibles
    myport=new Serial(this,Serial.list()[0],9600);
    println("Veuillez entrer le code de verification :");//Ouvrez le port que vous utilisez au taux que vous voulez
    }
    
    
    void draw()
    {
    }
    
    
    
    void serialEvent(Serial myport)
    {
    
    if(teste==1)
    {
                int donnee=myport.read();
                if(donnee==50 || r==1)
                                                  {
                                                    r=1;
                                                    if(donnee==50)
                                                                            {
                                                                             donnee=2;
                                                                             output.print(donnee);
                                                                             output.print(" ");
                                                                             j++;
                                                                             if(j==14)
                                                                                         {
                                                                                           j=0;
                                                                                           output.println(" ");
                                                                                           i++;
                                                                                           println(i);
                                                                                           r=0;
                                                                                          }
                                                                             }
    
                                                       if(donnee==48)
                                                                            {
                                                                             donnee=0;
                                                                             output.print(donnee);
                                                                             output.print(" ");
                                                                             j++;
                                                                             if(j==14)
                                                                                          {
                                                                                            j=0;
                                                                                            output.println(" ");
                                                                                            i++;
                                                                                            println(i);
                                                                                            r=0;
                                                                                            }
                                                                              }
                                                          }
                                                         if(donnee==49)
                                                                               {
                                                                                donnee=1;
                                                                                output.print(donnee);
                                                                                output.print(" ");
                                                                                 j++;
    
                                                                                 if(j==14)
                                                                                             {
                                                                                              j=0;
                                                                                              output.println(" ");
                                                                                               i++;
                                                                                               println(i);
                                                                                                r=0;
                                                                                               }
                                                                                   }
    if(i==8191)
    {
    output.flush();
    output.close();
    myport.stop();
    println("-------------  Fin du transfert  ------------------------");
    println(" Donnees enregistree avec succes ");
    exit();
    }
    }
    }
    void keyPressed()
    {
    touche[j]=key;
    j++;
    int donnee=myport.read();
    donnee=myport.read();
    donnee=myport.read();
    if(j==4)
    {
    j=0;
    // verification
    if(touche[0]==(c) && touche[1]==(c-1) && touche[2]==(c-2) && touche[3]==(c-3))
    {
    println("------------- Acces accepter     ------------------------");
    myport.write(touche[0]);
    myport.write(touche[1]);
    myport.write(touche[2]);
    myport.write(touche[3]);
    delay(10);
    teste=1;
    println("------------- debut du transfert ------------------------");
    }
    else
    {
    println("Acces refuser");
    }
    }
    }
    Dernière modification par JPL ; 03/03/2015 à 17h32.

  26. #25
    JPL
    Responsable des forums

    Re : Élaboration d'une interface de chargement de programme

    Ce n'est pas le rôle des modérateurs de mettre les balises Code à ta place !
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  27. #26
    aviati

    Re : Élaboration d'une interface de chargement de programme

    Nom : aaaa.JPG
Affichages : 58
Taille : 113,8 Ko
    resultat obtenu
    Code:
    println("------------- Acces accepter     ------------------------");
    myport.write(touche[0]);
    myport.write(touche[1]);
    myport.write(touche[2]);
    myport.write(touche[3]);
    delay(10);
    teste=1;
    donc le le code va realiser teste=1
    mais le traitement ne s effectue pas
    Code:
    if(teste==1)
    
    {
    int donnee=myport.read();
    if(donnee==50 || r==1)
    {
    r=1;
    if(donnee==50)
    {
    donnee=2;
    output.print(donnee);
    output.print(" ");
    j++;
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    }
    if(donnee==48)
    {
    donnee=0;
    output.print(donnee);
    output.print(" ");
    j++;
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    }
    }
    if(donnee==49)
    {
    donnee=1;
    output.print(donnee);
    output.print(" ");
    j++;
    
    if(j==14)
    {
    j=0;
    output.println(" ");
    i++;
    println(i);
    r=0;
    }
    le code permet le stockage de donnees de la carte arduino

Discussions similaires

  1. problème de chargement du programme au PIC
    Par Electro_Red dans le forum Électronique
    Réponses: 1
    Dernier message: 27/02/2013, 20h01
  2. Chargement programme dans la mémoire
    Par invite65bf7355 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 04/01/2010, 23h31
  3. Elaboration d'un programme sous scilab
    Par invite53a861ab dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 09/11/2009, 00h16
  4. problème de chargement de programme 16f628
    Par invitec0da5e32 dans le forum Électronique
    Réponses: 1
    Dernier message: 19/09/2007, 01h38
  5. Chargement du programme Livebox impossible
    Par le fouineur dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 08/09/2006, 09h49
Découvrez nos comparatifs produits sur l'informatique et les technologies.