salut,
j'ai fait un programme qui reçoit 4 variables issues d'une PIC 16F87.
voici mon programme:
program nnnnn;
var n,i,active:byte;
courant,tension,reactive:real;
txt1,txt2,txt3,txt4,txt55: string[10];
tx,tx1,tx2,tx3:string[10];
begin
USART_init(9600);
ADCON1:=$80;
Lcd_Init(PORTD);
tx:='P=';
LCD_Out(1,1,tx);
LCD_Cmd(CURSOR_OFF);
tx1:='I=';
LCD_Out(2,1,tx1);
tx2:='U=';
LCD_Out(1,9,tx2);
tx3:='Q=';
LCD_Out(2,9,tx3);
n:=0;
while true do
if Usart_Data_Ready = 1 then
begin
if n=4 then n:=0;
n:=n+1;
i := USART_Read();
active:=i;
courant:=(0.053921568627*i)-2.703 ;
tension:=(0.066666666666666*i)-3.3999999;
tension:=tension*1.73205;
reactive:=(1.4950980392*i)-181.24;
byteToStr(active, txt1);
floatToStr(courant, txt2);
floatToStr(tension, txt3);
floatToStr(reactive,txt4);
txt1[4]:=0;
txt2[4]:=0;
txt3[4]:=0;
txt4[4]:=0;
case n of
1 : LCD_Out(1,3,txt1);
2 : LCD_Out(2,3,txt2);
3 : LCD_Out(1,11,txt3);
4 : LCD_Out(2,11,txt4);
end ;
vous remarquer que le registre "active" est déclaré comme étant byte.
quand je veux le déclarer comme étant un réel,l'afficheur n'affiche rien.pourquoi??
merci.
-----