FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Cita:
Para este tipo de menesteres y desde mi experiencia con la recepción de paquetes de datos a través de puerto serial, te recomiendo que uses el componente TurboPower Async Professional (gracias amigo Al por recomendarmelo hace ya unos años ), el cual tiene dentro de sus particularidades un objeto de nombre ApdDataPacket, a este objeto le asignas una cadena de inicio y una cadena de final por ejemplo: En las propiedades del Objeto ApdDataPacket StartString = #22 [SYN] (Aunque yo usaria solo #2 [STX], a menos que requieras por fuerza el [SYN]) EndString = #3 [ETX]; y en código solo requieres hacer esto:
Al final, te olvidas de codificar y validar cada vez que recibes un caracter. Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#2
|
|||
|
|||
Gracias por tu ayuda Egostar... pero... pero...
El componente que uso es el TVaComm. Este viene junto con otra serie de componentes en un paquete llamado Async32 si no me equivoco. Otro de los componentes que trae es el TVaCapture que funciona como tu dices. Le indicas el comienzo y el fin de trama y cuando detecta ese comienzo y fin produce un evento que tiene como parámetro el contenido del paquete. El problema que me encontré es que el modem que uso devuelve los caracteres hexadecimales y el componente TVaCapture devuelve caracteres ASCII. En principio para algunas cosas me es igual, pero me he dado cuenta de un pequeño fallo. Resulta que el modem devuelve en muchas tramas el valor $00 (carácter NULL) y TVaCapture lo devuelve en el String de datos como un espacio en blanco ($20 si no me equivoco). Entonces esto a veces me lleva a error xq puede que alguna vez sí sea verdaderamente un espacio o a veces sea un NULL. Y estos valores puede que me sean necesarios saber el valor exacto. No sé si después de todo este palabrerío se me habrá entendido jeje. De todas formas... muchísimas gracias por el consejo!!! |
#3
|
||||
|
||||
Cita:
Saludos. Al. |
#4
|
|||
|
|||
Cita:
Muchas gracias otra vez a los dos!!! |
#5
|
|||
|
|||
Cita:
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#6
|
|||
|
|||
Gracias por tomarte la molestia de realizar un código para la lectura del puerto serie. Una pequeña pega que le veo es que la variable linea debería ser global y no local, ya que puede que no lleguen todos los caracteres de la trama en el momento en que se produzca el evento. Quizás llegue en dos veces por lo que la variable se habrá vuelto a inicializar y supongo que no funcionará, no?
Salu2... |
#7
|
|||
|
|||
Cita:
Si y no, ya que al ser una comunicación serial, los caracteres te llegan como su nombre lo indica, de forma serial, uno tras otro, por lo que el conflicto que mencionas no creo que se presente ya que cuando te llega el primer caracter de la siguiente trama, inicializas la variable Linea. La puse como local para que se viera, pero puedes hacerla global. Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#8
|
||||
|
||||
Cita:
|
#9
|
|||
|
|||
Cita:
Puedes bajar los archivos de ayuda que tienen disponibles. tpapro_docs Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#10
|
||||
|
||||
ok gracias les echare un vistazo
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Lectura del USB por Interrupción | cisco | Varios | 0 | 25-10-2007 18:13:29 |
Documentacion para Generar Tramas TCP | bastardo10 | Varios | 0 | 07-06-2007 17:31:38 |
Lectura de un FTP con idHTTP | gluglu | Internet | 2 | 05-05-2007 00:35:50 |
Problema de lectura de un cd | dragondetierra | Varios | 0 | 18-02-2007 18:58:52 |
|