strcpy(transmite,""
; lectura_exitosa=0;
while (lectura_exitosa==0)
{delay_ms(12); sht1x_xmission_start(); sht1x_command_mode(MEASURE_TEMP);
lValue_temp = sht1x_read_DATA_SHT(); fTemp_true = (D1+(D2*lValue_temp));
delay_ms(12); sht1x_xmission_start(); sht1x_command_mode(MEASURE_HUMI);
lValue_rh = sht1x_read_DATA_SHT();
if((lValue_temp==65535)||(lValue_rh==65535)) {}
else
{fRh_lin = (C1+(C2*lValue_rh)+(C3*lValue_rh*lValue_rh));
fRh_true = (((fTemp_true-25)*(T1+(T2_*lValue_rh)))+fRh_lin);
fDew_point = sht1x_calc_dewpoint(fRh_true,fTemp_true);
// printf ("Temp=%5.2f RH=%5.2f DP=%5.2f ",(fTemp_true),fRh_true,fDew_point);
sprintf(temp_cadena,"%02.2f",fTemp_true); sprintf(humi_cadena,"%02.2f",fRh_true);
sprintf(dewp_cadena,"%02.2f",fDew_point);
strcat(transmite,sensor);strcat(transmite,espacio);
strcat(transmite,temp_cadena);strcat(transmite,espacio);strcat(transmite,humi_cadena);
strcat(transmite,espacio);strcat(transmite,dewp_cadena);
// printf("Lectura Sensor 1: %s ",transmite); salto();
LCD_SetPosition ( LINE_1 );
printf(LCD_PutChar,"%s",transmite);
printf("%s",transmite);
printf("
"
;
lectura_exitosa=1; // delay_ms(1200);
} delay_ms(1200);
}
es el codigo desde el pic que transmites!!!
y a continuacion desde el que recibes:
void main(void)
{ char cadena[30];
char S1[21];
char S2[21];
float temp1f,temp2f,hr1f,hr2f,dp1f,dp2f,temppf,hrpf,dppf;
setup_adc_ports(NO_ANALOGS);set_tris_b(0b00000000);lcd_init();
temp1f=temp2f=hr1f=hr2f=dp1f=dp2f=temppf=hrpf=dppf=0;
while(TRUE)
{ gets(cadena);
if((cadena[0]=="S")&&(cadena[1]=="1"))
{strcpy(S1,""
;strcat(S1,cadena);temp1f=cadena_numero(3,8,S1);
hr1f=cadena_numero(9,14,S1);dp1f=cadena_numero(15,20,S1);
LCD_PutCmd ( CLEAR_DISP );
}
if((cadena[0]=="S")&&(cadena[1]=="2"))
{strcpy(S2,""
;strcat(S2,cadena);temp2f=cadena_numero(3,8,S2);
hr2f=cadena_numero(9,14,S2);dp2f=cadena_numero(15,20,S2);
LCD_PutCmd ( CLEAR_DISP );
}
temppf=(temp1f+temp2f)/2; hrpf=(hr1f+hr2f)/2; dppf=(dp1f+dp2f)/2;
LCD_SetPosition ( LINE_1 ); printf ( LCD_PutChar, "TP1=%2.2f",temp1f); printf("Temp1: %f
",temp1f);
LCD_SetPosition ( LINE_2 ); printf ( LCD_PutChar, "HR1=%2.2f",hr1f); printf("HR1: %f
",hr1f);
LCD_SetPosition ( LINE_3 ); printf ( LCD_PutChar, "TP=%2.2f",temppf); printf("DP1: %f
",dp1f);
LCD_SetPosition ( LINE_1+10 ); printf ( LCD_PutChar, "TP2=%2.2f",temp2f); printf("Temp2: %f
",temp2f);
LCD_SetPosition ( LINE_2+10 ); printf ( LCD_PutChar, "HR2=%2.2f",hr2f); printf("HR2: %f
",hr2f);
LCD_SetPosition ( LINE_3+10 ); printf ( LCD_PutChar, "HRP=%2.2f",hrpf); printf("DP2: %f
",dp2f);
} // while
}