Bonjour,
Je dipose d'un terminal ne pouvant emettre que des données non signées sur 8 bits.Pour cela je décompose n'importe quel nombre en 3 parties;LSB, MSB et bit de signe.J'ai conçu ce desing en vue de recevoir les 3 trames et les combiner .Cepedant je conclue que les blocs ne semble jamais rien recevoir étant donnée qu'en debuggant ,je ne vois que les données affectés par défaut aux variables.
Vous trouverez çi dessous mon desing ainsin que le codes des blocs fonctions.J'utilise une variable globale i pour la synchronisation.La variable output ne sert pour le moment à rien.
Pouvez vous m'aidez ?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
function outl  = low(status,data)
global i;
global out;
outl=uint8(22);
if (i==1)
if (status ==1)
 
    outl=data;
    i=i+1;
   return ;
   end
end


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
function outh  = high(status,data)
global i;
outh=uint8(23);
if (i==2)
if (status ==1)
    outh=data; 
    i=i+1;
    return ;
   end
end

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
function outsg  = sgn(status,data)
outsg=1;
global i;
if (i==3)
if (status ==1)
 
    if(data ==1);
       outsg=-1; 
       i=i+1;
    return ;
    end 
    end   
end
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
function combine(low,high,sign)
global i;
global out;
out=int32(511);
if (i==4)
    i=1;
 out=int32(sign*(high*power(2,8)|low));    
return;
end
Nom : simu.PNG
Affichages : 197
Taille : 33,5 Ko