l objectif est la réalisation d'interface de chargement de programme.(le programme est stocke dans une RAM)
l interface de connexion entre l équipement 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 stocké dans la RAM
le CArte arduino réalise la lecture de données reçus de la RAM:
le programme de lecture de carte :
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); } }
code processing qui se charge du stockage des donnees dans un fichier texte
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()); myport=new Serial(this,Serial.list()[0],9600); println("Veuillez entrer le code de verification :"); } 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(); println("------------- Fin du transfert ------------------------"); println("----------- Donnees enregistree avec succes ------------- "); myport.stop(); 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 ------------------------\n"); myport.write(touche[0]); myport.write(touche[1]); myport.write(touche[2]); myport.write(touche[3]); delay(10); println("\n------------------------ Debut du transfert ------------------------"); teste=1; } else { println("Acces refuser"); } } }
resultats obtenu:
Vous trouverez en pièce jointe le resultat obtenu:
Hors ligne
bonsoir , est ce qu'il n n'a pas de reponse ???
Hors ligne
bonjour
le resultat obtenu:
2 0 0 0 0 0 0 0 0 0 0 0 0 0
repeter 8191 fois
s il vous plait je cherche de l aide !!
Hors ligne
bonjour,
j attend tj s il y a de reponse
merci
Hors ligne
Bonjour,
Il n'y a pas de réponse car ta question est incompréhensible.
Pour la RAM tu ne donnes aucune référence.
Dans tes programmes, les noms des variables ne sont pas explicites.
Bon courage
Dernière modification par Mushussu (2015-03-16 14:14:18)
Hors ligne
y'en a qu'ont essayé....
http://forums.futura-sciences.com/elect … ramme.html
http://forums.futura-sciences.com/elect … ramme.html
bon, à la fin, c'est pour reprogrammer un hélicoptère, un drone ou un missile ??!
Dernière modification par Nicolas Lhommet (2015-03-16 13:56:16)
Hors ligne
Pages: 1