Sucede que estoy trabajando con CCS, intento recibir un float por RS232, cuyos dígitos están separados en cada byte que me manda. Es decir, me llegan 21 btes, de esos 21 9 corresponden al numero float.
Me explico mejor:
llegan: 1,2,3,4,5,6,7,8,9 que uniéndolos me deben quedar 123456,789.
Entonces, yo lo que hago es esto:
Valor_Recarga=Valor_Recarga+(float)(Buffer_in[6]*100000);
Valor_Recarga=Valor_Recarga+(float)(Buffer_in[7]*10000);
Valor_Recarga=Valor_Recarga+(float)(Buffer_in[8]*1000);
Valor_Recarga=Valor_Recarga+(float)(Buffer_in[9]*100);
Valor_Recarga=Valor_Recarga+(float)(Buffer_in[10]*10);
Valor_Recarga=Valor_Recarga+(float)(Buffer_in[11]*1);
Valor_Recarga=Valor_Recarga+(float)(Buffer_in[12]/10);
Valor_Recarga=Valor_Recarga+(float)(Buffer_in[13]/100);
Valor_Recarga=Valor_Recarga+(float)(Buffer_in[14]/1000);
Si se puede hacer esto? No me esta funcionando...
Si yo hago previo a lo anterior esto:
For(i=6;i<15;i++)Buffer_in[i]=1;//<-------------- DEBUG BORRAR
Pues me esperaria 111111,111.
Y me aparece 143.000 en la LCD.
Ya estoy loco con esto. Me pueden indicar si yo estoy haciendo mal las cosas por favor.
Gracias!!