![]() |
Leer el puerto serial de un conmutador KX-TA308 con tpapro
:oBuenas tardes compañeros despues de leer los manuales y algunos post del foro sigo sin poder leer el puerto serial del conmutador estoy utilizando el ApdDataPacket por que segun es el que en otros post es el mas recomendable ya revise la info del conmutador y a l oque parece solo tiene cadena de inicio que es CR+LF Pero no entiendo como pasarle ese parametro al componente y los mas complicado com estar capturando los paquetes queme manda el conmutador y dividirlos en campos legibles cualquiera que tenga una idea muchas gracias de antemano.
|
Cita:
Saludos |
Cita:
Hay varias formas 1. Usar un ApdDataPacket configurando
2. Usar los eventos OnTriggerAvail y OnTriggerData del componente ApdComPort. Busca en el manual del componente el uso de estos eventos, en realidad es muy fácil. Salud OS PD, Cuando hagas referencia a un hilo anterior y la pregunta sea sobre la misma situación, lo adecuado es continuar con el hilo en lugar de crear uno nuevo. |
ok gracias por responder le echare otra machetiada al manual haber si ya se me ilumina la cabeza :p:p, otra duda como escribiria CR y LF asi tal cual ??
|
Cita:
Ah, y prueba synaserial, me parece que de las librerias seriales es la mas estable aunque tengas que hacerla multitarea a mano. Saludos |
:Dmuchas gracias donald lo probare a ver que tal
|
Cita:
Salud OS |
¿cosas a mano? ¿ese no seria un hilo pa'la taberna?:D:D:D:D
|
Cita:
Salud OS |
Cita:
Digo librería porque no es un componente, es decir que no podemos pegarlo en un formulario. Hay que utilizarlo a la Turbo pascal, para que se entienda. ;) Aunque eso puede que asuste les garantizo que es un placer utilizarlo. Saludo. |
Cita:
Salud OS |
buenos dias sigo intentando leer las cadenas del puerto serial :confused: pero no lo logro hacer se que ahi conexion por que con un ejemplo que trae si lee lo que el conmutador manda, estoy utilizando un ApdComPort1 que lo configure de igual forma que el ejemplo, y un ApdComPort1 que le puse los parametros que me indicaron pero nada intento imprimir los datos recuperandolos de la variable DATA alguna sugerencia gracias.:(
|
me pregunto si ya lo has abierto?
Yo hago esto Como recomendación, cuando trabajas con puertos seriales yo siempre recomiendo que se use hiperterminal para estar seguros que los parámetros de comunicación y el número de puerto son los correctos, si recibes datos correctamente deberias de recibirlos en el programa. Otra cosa que debes de verificar es la cadena de fin que estas configurando CR+LF = #13#10 = ^M^J (Así lo vas a ver en el componente) LF+CR = #10#13 = ^J^M Salud OS |
Cita:
Toma un conector db9 HEMBRA (el conector del puerto serie, lo consigues en cualquier casa de electrónica). Le sueldas o puenteas o conectas los pines 2 y 3 Lo conectas al computador Corres tu programa y envias algo. Si REALMENTE esta enviando vas a recibir LO MISMO que enviaste. Sino, a revisar programa, puerto serie, etc. Saludos. |
Gracias donald y egostar por contestarme y perdon por la tardanza peor tuve unos problemillas con unas conecciones y hasta ahorita lo resolvi, de lo que me comentas donald si estoy seguro de recibir lo que memanda el conmutador lo que no logro hacer es capturarlos y separarlos por campos ahorita mismo voy a probar lo que me dice egostar haber que tal mil gracias por su tiempo.
|
Cita:
CR+LF = #13#10 = ^M^J (Así lo vas a ver en el componente) LF+CR = #10#13 = ^J^M seguire probando mil gracias |
ok ya recibo lo que me manda en el conmutador como un paquete
--------------------------- prueba --------------------------- 1/ 6/98 5:04AM 105 01 0453227797474 00:00'07" .... --------------------------- OK --------------------------- ahora la pregunta es me hacen falta datos sera configuracion dle conmutador o del componente:confused: y ahi alguna forma de dividirlos en campos o lo tengo que hacer analizando la cadena y separandolos manualmente:p |
Cita:
Esa cadena tendrás que segmentarla y actuar en consecuencia, necesitarás las tarifas telefonicas del Carrier que les de servicio de larga distancia, costos de celular local y nacional, servicio medido, Claves lada de todo el mundo :D etc, etc, no es poca cosa la que te hace falta :) Salud OS |
Si tiens razon los datos estan completos :p hasta ahora echandole de nuevo un vistazo al manual me doy cuenta que asi es los datos estan completos y pues si me hace falta mucho por inplementar:D ahora la pregunta es lo tengo que segmentar manualmente o el componente ya me provee algo que pueda usar para separarlo gracias de antemano.
|
Cita:
Dado que la información tiene ancho fijo hazlo simple, un simple copy(str,inicio,fin) y a convertir al dato indicado. Lo que no recuerdo es si manda cabeceras o algún dato en el medio. Me acuerdo que yo hice hace muchoooooo tiempo un capturador de esta info, pero esos fuentes volaron, porque fue en la prehistoria. :p Saludos. |
Bueno, es que una vez que el componente te ha dado la cadena, termina su función hasta "nuevo aviso" :D:D:D, la cadena pues es un string de formato estable, asi que con lo que te comenta donald shimoda es mas que suficiente.
Salud OS |
gracias donald que es copy es una funcion ???? por lo que veo me dices que ponga copy(Data,ini, fin) donde data es el paqutee completo que capturo pero ini y fin por ejemplo que serian:confused: para restringir la fecha que valor le asignaria a ini y que valor le asignaria a fin si la fecha cambia dia a dia como podria restringirle el inicio y el fin.
------------------------- prueba --------------------------- 1/ 6/98 5:04AM 105 01 0453227797474 00:00'07" .... --------------------------- OK --------------------------- |
Hola richy08, copy si es una función, donde el primer parametro es la cadena en si, el segundo la posición desde donde quieres que se haga el copy de la cadena y el tercero el numero de caracteres que se va a tomar.
Saluditos |
:p muchas gracias caro jeje esa funcion nunca la habia visto mañana en un rato libre lo seguire probando mil gracias a los tres me han enseñado bastante :D
|
| La franja horaria es GMT +2. Ahora son las 22:27:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi