Port parallele, matlab java - Divers - Programmation
MarshPosté le 22-05-2006 à 00:28:33
Salut à tous!!
Je dois gérer une carte avec 3 afficheurs, chacun gérés par 3 registres SN74HCT74. voila mon code sous matlab; le pb; j'affiche le 1 sur le premier afficheur mais lorsque ke je passe sur le deuxieme afficheur, j'affiche le 0 mais le 1 disparait, je pense ke c du au fait que je fais un "putvalue" sur le parallele2 pour sélectionner le deuxieme afficheur et matlab me met les broches D0 à D7 à 1 logique....alors que je ne lui demande pas...
QUELQ'UN SAIT IL COMMENT REGLER CE PB, Ou sinon comment faire pour utiliser une solution Java ( langage que je ne connai pas...) ???
Marsh Posté le 22-05-2006 à 00:28:33
Salut à tous!!
Je dois gérer une carte avec 3 afficheurs, chacun gérés par 3 registres SN74HCT74. voila mon code sous matlab;
le pb; j'affiche le 1 sur le premier afficheur mais lorsque ke je passe sur le deuxieme afficheur, j'affiche le 0 mais le 1 disparait,
je pense ke c du au fait que je fais un "putvalue" sur le parallele2 pour sélectionner le deuxieme afficheur et matlab me met les broches D0 à D7 à 1 logique....alors que je ne lui demande pas...
QUELQ'UN SAIT IL COMMENT REGLER CE PB, Ou sinon comment faire pour utiliser une solution Java ( langage que je ne connai pas...) ???
nbre_personnes = 108;
data_centaines = floor(nbre_personnes/100);
data_dizaines = floor((nbre_personnes - (data_centaines*100))/10);
data_unites = floor(nbre_personnes - (data_centaines*100) - (data_dizaines*10));
parallelport0 = digitalio('parallel','LPT1');
ligne_control = addline(parallelport0,0:3,2,'out');
putvalue(parallelport0,[0 0 0 0]);
delete(parallelport0);
pause(5);
parallelport = digitalio('parallel','LPT1');
val = getvalue(parallelport)
disp('creation port')
ligne_1 = addline(parallelport,3:3,2,'out');
val1 = getvalue(parallelport)
disp('creation ligne')
putvalue(parallelport,[1]);
val2 = getvalue(parallelport)
disp('donne sur la ligne')
parallelport1 = digitalio('parallel','LPT1');
val3 = getvalue(parallelport)
val31 = getvalue(parallelport1)
disp('creation port1')
ligne12 = addline(parallelport1, 0:7,0,'out');
val4 = getvalue(parallelport)
val41 = getvalue(parallelport1)
disp('creation ligne1')
if (data_centaines == 1)
disp('Afficher_Afficheur : data_centaines = 1')
%Affichage du chiffre 1
putvalue(parallelport1, [1 0 0 1 1 1 1 1]);
disp('donne sur la ligne1')
end
% putvalue(parallelport,[0 0 0 0]);
pause(1);
val5 = getvalue(parallelport)
val51 = getvalue(parallelport1)
%putvalue(parallelport,[0]);
delete(parallelport);
disp('delete parar')
pause(1);
%delete(parallelport1);
%disp('delete parar1');
parallelport2 = digitalio('parallel','LPT1');
val6 = getvalue(parallelport2)
val61 = getvalue(parallelport1)
disp('creation port2')
pause(5);
%ligne = addline(parallelport2,0:7,0,'out');
ligne_14 = addline(parallelport2,1:1,2,'out');
val7 = getvalue(parallelport2)
val71 = getvalue(parallelport1)
disp('creation ligne 14 et ligne')
pause(10);
%putvalue(parallelport2,[0 0 0 0 0 0 0 0 0 1]);
putvalue(parallelport2,[1]);
val8 = getvalue(parallelport2)
val81 = getvalue(parallelport1)
disp('donne sur la ligne14 et ligne')
pause(10);
%parallelport3 = digitalio('parallel','LPT1');
%ligne3 = addline(parallelport3, 0:7,0,'out');
if (data_dizaines == 0)
disp('Afficher_Afficheur : data_dizaines = 0')
%Affichage du chiffre 0
putvalue(parallelport1, [0 0 0 0 0 0 1 1]);
end
pause(5);
val9 = getvalue(parallelport2)
val91 = getvalue(parallelport1)
% % putvalue(parallelport2,[0 0 0 0]);
delete(parallelport2);
delete(parallelport1);
%delete(parallelport3);
pause(5);