![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
al dispositivo se le mandan bytes en hexadecimal pero para mandarselos y que lo entienda ese byte lo hemos de pasar a char. Asi por ejemploo mandando la siguiente secuencia de bytes 20 30 40 50 primero tendria que pasar el byte 20 a char luego el 30 a char, etc y cuando tengamos todos los bytes en char mandarlo. la respuesta nos tendria que dar una secuencia de chars que nosotros pasariamos a hex para ver su valor.
Pero vamos que casi todos los circuitos electronicos que se manejan por el com creo que van de forma parecido o igual. Otra cosa, se me olvidaba darte la gracias por tu interes. |
|
#2
|
|||
|
|||
|
Al final lo he conseguido. Muchas gracias. Lo que he hecho a sido hacer lo que tu decias. Con un bucle ir leyendo byte a byte pasarlo a char y añadirlo a un string y ya tengo la respuestas que tenia que darme.
Me has sido de gran ayuda. Muchisimas gracias. Solo una pregunta que se me ocurre. Al leer un byte del buffer del com con ReadFile, ese byte se borra del buffer al ser leido o se sigue quedando ahi hasta que limpiemos el buffer o se reciba otra cosa? Última edición por Geta fecha: 19-08-2006 a las 12:55:10. |
|
#3
|
||||
|
||||
|
Parece que mientras respondía, tu te adelantaste
Cita:
|
|
#4
|
|||
|
|||
|
Muchas gracias por todo amigo mio. Ya lo tengo funcionando.
|
|
#5
|
||||
|
||||
|
No estoy seguro si te entendí bien, quieres decir que si tienes que mandar el byte 41h (65 en decimal) lo que tienes que mandar es Chr($41) (Una 'A'). No entiendo porque, un Char y un byte tienen ambos el mismo tamaño (8 bits), de hecho no hay diferencia entre enviar un byte o un Char. ¿O refieres acaso a convertir cada byte en dos caracteres que representen su valor hexadecimal?
Por ejemplo, si tengo que enviar los bytes 20h, 30h, 40h, 50h se podría hacer así (siempre suponiendo que tenemos el puerto abierto y configurado):
Para leer los bytes tenemos que saber que nos va a mandar, es decir, podemos estar leyendo continuamente, leer durante un tiempo, o leer hasta encontrar un carácter final. La primera opción no parece practica, solo seria útil para hacer un programa que monitorizara el puerto serie. Y como parece ser que tu dispositivo no utiliza un carácter especial para terminar la conexión, tendremos que quedarnos con la segunda opción.
Una secuencia de como lo haria yo seria la siguiente: Código:
Abrir el puerto Configurar el puerto Purgar el puerto Mandar los bytes Recibir la respuesta durante unos segundos Mostrar la respuesta o usarla para lo que se quiera Cerrar el puerto |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Disminuir el tamaño de un ejecutable | tannyk | Varios | 6 | 18-05-2005 06:23:41 |
| Disminuir el tamaño de los archivos .pst (outlook) | Alexander | Windows | 3 | 11-05-2005 19:42:38 |
| Disminuir tamaño de un programa | Leomedellin | Varios | 1 | 06-04-2005 18:49:05 |
| de BYTE a STRING | emeceuy | Varios | 3 | 20-08-2004 16:29:32 |
| ADO: Byte nulo (byte #0) en un string | Pandre | Conexión con bases de datos | 0 | 02-04-2004 20:18:37 |
|