![]() |
![]() |
| 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
|
|||
|
|||
|
un poco más...
DIFERENCIAS EN EL SETEO DE PARAMETROS a pesar que unas lineas antes el retrieve está igual, al setear el handshake hay un par de parametros que no coinciden el del TComPort con el de la aplicacion original: TComPort IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_SET_CHARS: Set special characters) DOWN TRUE 0x0 84 00 00 00 11 13 Aplicacion original IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_SET_CHARS: Set special characters) DOWN TRUE 0x0 1A 00 00 00 11 13 TComPort: IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_SET_HANDFLOW: Set handshake information) DOWN TRUE 0x0 01 00 00 00 40 00 00 00 00 04 00 00 00 04 00 00 Aplicacion original IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_SET_HANDFLOW: Set handshake information) DOWN TRUE 0x0 01 00 00 00 40 00 00 00 00 08 00 00 00 02 00 00 o sea, en los special chars y en el handshake hay alguna diferencia... variando todos los parametros del TComPort no logré que variara el valor de esos números, no se como cambiarlos !!! con el unico que encontré una diferencia fue con el 84 de los special chars, que logré cambiarlo a 58 si la pongo en true la propiedad conected (es decir que al compiar y ejecutar ya se conecte el puerto), pero 58 tampoco sirve, tiene que ser 1A !!! DIFERENCIAS AL ENVIAR DATOS Tanto al abrir la aplicación original como al abrir el puerto del TComPort de delphi, en "serial port monitor" (sniffer), dice en la columna funcion algo como: IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_SET_QUEUE_SIZE: Set queue size) y lo mismo con el resto de los parametros, BAUDS, HANDSHAKE, etc, etc... luego de todo el seteo de parámetros, los comandos al equipo se los manda con la funcion: Aplicacion original IRP_MJ_DEVICE_CONTROL y la info que manda, por ejemplo es: 00 00 0B 00 30 00 EF 00 03 00 00 0B 00 07 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 TComPort puedo mandar la misma información, pero en la función en vez de aparecer IRP_MJ_DEVICE_CONTROL (como lo hace el programa original) aparece: IRP_MJ_WRITE y peor aún, con el TComPort aparece continuamente la espera de eventos, con datos 04 00 00 00: IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_WAIT_ON_MASK: Wait for event) aunque en el seteo de eventos del TComPort, comparando esos seteos con los de la aplicacion origianal están iguales... la serie de eventos que le mando, queda algo asi (no puse los datos para no entreverar más): IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_WAIT_ON_MASK: Wait for event) DOWN IRP_MJ_WRITE DOWN IRP_MJ_WRITE UP IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_WAIT_ON_MASK: Wait for event) UP IRP_MJ_WRITE DOWN IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_WAIT_ON_MASK: Wait for event) DOWN IRP_MJ_WRITE UP IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_WAIT_ON_MASK: Wait for event) UP IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_WAIT_ON_MASK: Wait for event) DOWN IRP_MJ_WRITE DOWN IRP_MJ_WRITE UP IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_WAIT_ON_MASK: Wait for event) UP IRP_MJ_DEVICE_CONTROL (IOCTL_SERIAL_WAIT_ON_MASK: Wait for event) DOWN muchisimas gracias, como siempre... espero poder hacer funcionar esto ![]() ![]() ![]() ![]() ![]() ![]()
__________________
Marcelo C. Última edición por emeceuy fecha: 30-11-2007 a las 14:16:17. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Puerto serial CLX | bismarck_sierra | Lazarus, FreePascal, Kylix, etc. | 0 | 06-07-2004 21:55:22 |
| Mi navigator esta loco | nefy | Varios | 7 | 19-05-2004 16:58:44 |
| Puerto serial | fled | Varios | 2 | 28-04-2004 22:27:47 |
| Puerto serial. | danytorres | Impresión | 1 | 29-01-2004 16:51:42 |
| me estoy volviendo loco | haron | Humor | 6 | 04-09-2003 08:21:32 |
|