 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Daniel Invitado
|
Publicado: Mar 21 Oct, 2003 3:13 am Asunto: 10 Bits |
|
|
Hola amigos
Tengo para ustedes la siguiente consulta.
Un periférico que me está enviando datos por el rs232, dos bytes de los
cuales solo 10 bits son los útiles, es decir me llegan números entre 0
y 1023, el controlador de este periférico me entrega los datos en una
variable tipo AnsiString.
;--------------------------------
AnsiString Dato;
Dato = PuertoCom -> LeerPuerto();
;--------------------------------
El tema es que tengo que identificar la parte alta y baja del dato
para reconstruirlo en un entero mediante:
short int resultado;
resultado = (Hi_Byte * 256 + Low_Byte);
Obviamente esto no funciona ya que no puedo pasar directamente una
variable ansi a un entero, Hi_Byte y Low_Byte forman parte de Dato.
Alguna idea de como resolver esto.
--
Saludos Cordiales y gracias por prestarme su tiempo.
Daniel |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
Javi6 Cdt

Registrado: 05 Ene 2003Mensajes: 17
|
Publicado: Mar 21 Oct, 2003 9:58 pm Asunto: |
|
|
que yo sepa (que no es mucho) ReadFile te devuelve lo leido en bytes, por lo tanto despues de leer el puerto tendras un array de 2 bytes, para conseguir el dato, primero tendras que aplicar una mascara para eliminar los bits que te sobra, y hace lo que dices: partealta*256+partebaja.
Si no es esto lo que necesitas, explicalo algo mas claro,
saludos,
javi _________________ Javi |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|