Bonjour,
je possède un PIC 16F84A , j'utilise le language Pascal, je voudrais savoir si il est possible de faire fonctionner plusieurs " boucles infinies "
dans le même pic et ce simultanément et sans lien entre elles.
J'ai essayé plusieurs combinaisons , ça n'a pas marché comme prévu
voivi un exemple que j'ai essayé :
( juste pour l'essai j'ai voulu faire clignoter 2 dels à des fréquences différentes et en même temps)
Le résultat inattendu est que les 2 dels ( sur port b 3 et b4 )clignotent presque alternativement, même si je met 10ms au lieu de 100;
[LE watchdog timer est désactivé ]
program grafcet2boucles;
Var X0, X1, X2,X3,t2, t ,t3,t4: Byte;
begin
TRISA:=$FF;
TRISB:=$0;
portB:=0;
X0:=1; X1:=0; X2:=1;X3:=0;t2:=0; t:=0;t3:=0;t4:=0;
while (true) do
begin
// équations des étapes
if (( X0=1) AND (t2=1))then
begin
X0:=0;
X1:=1;
t2:=0;
end;
if (( X1=1) AND (t=1))then
begin
X1:=0;
X0:=1;
t:=0;
end;
// équations des sorties:
if (X0=1) then
begin
PORTB.3:=0;
delay_ms(500);
t2:=1;
end;
if (X1=1) then
begin
PORTB.3:=1 ;
delay_ms(500);
t:=1;
end;
// boucle suivante
while (true) do
begin
if (( X2=1) AND (t3=1))then
begin
X2:=0;
X3:=1;
t3:=0;
end;
if (( X3=1) AND (t4=1))then
begin
X3:=0;
X2:=1;
t4:=0;
end;
// équations des sorties:
if (X2=1) then
begin
PORTB.4:=0;
delay_ms(100);
t3:=1;
end;
if (X3=1) then
begin
PORTB.4:=1 ;
delay_ms(100);
t4:=1;
end;
end;
end;
end.
Je vous remercie d'avance
-----