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 amine.JPG
    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 à 13h24. Motif: Ajout de la balise Code (#) et suppression de la pièce jointe "vide"

  2. Publicité
  3. #2
    JPL

    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

  4. #3
    JPL

    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

  5. #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 :
    aaaa.JPG
    Dernière modification par gienas ; 02/03/2015 à 13h27. Motif: Ajouté les balise de code obligatoires pou rles programmes!

  6. #5
    JPL

    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. A voir en vidéo sur Futura
  8. #6
    aviati

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

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

  9. Publicité
  10. #7
    aviati

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

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

  11. #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
    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !

  12. #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);
    }
    }

  13. #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");
    }
    }
    }

  14. #11
    aviati

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

    resultat obtenu :
    aaaa.JPG

    je dois obtenir les données enregistrer dans la RAM

  15. #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;
            }
         }
    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !

  16. Publicité
  17. #13
    aviati

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

    donc je dois faire quoi ??

  18. #14
    DAUDET78

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

    Mettre des espaces pour séparer les blocs ......(voir mon exemple #12)
    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !

  19. #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");
    }
    }
    }

  20. #16
    Jack

    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 ...

  21. #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

  22. #18
    aviati

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

    pas de reponse ????

  23. Publicité
  24. #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 ...
    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !

  25. #20
    aviati

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

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

  26. #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 !
    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !

  27. #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);
    }
    }

  28. #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

  29. #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 à 16h32.

  30. Publicité
  31. #25
    JPL

    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

  32. #26
    aviati

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

    aaaa.JPG
    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

Sur le même thème :

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, 19h01
  2. Chargement programme dans la mémoire
    Par QUEENE dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 04/01/2010, 22h31
  3. Elaboration d'un programme sous scilab
    Par kim76 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 08/11/2009, 23h16
  4. problème de chargement de programme 16f628
    Par silvo dans le forum Électronique
    Réponses: 1
    Dernier message: 19/09/2007, 00h38
  5. Chargement du programme Livebox impossible
    Par le fouineur dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 08/09/2006, 08h49