![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Hola Canvilem.
La verdad estoy estudiando el comportamiento de un programita que me gustaria emular.Solo puedo leer la parte que corresponde a un micro que lo acompaña.La parte de la aplicacion esta escrita dice que en GUI para windows.Yo quiero hacer algo parecido pero en Delphi y es donde entra la tareita que me he puesto para comenzar con mi primer programita Delphi.(jajajaja nada facil pero esos retos me encantan).Para esto tengo algunas herramientas y todo el tiempo del mundo,(no me apura).La herramienta mas importante para esta primera etapa es esta.Serial con este programita puedo ver el protocolo entre el (target y su esclavo)Los hex esos 02 00 son los que manda el pc al micro OnCreate y espera que el micro le mande 48 69 2D 4C 4F 47 49 43 la aplicacion los compara y si son igual a lo que espera termina de habrir la aplicacion de lo contrario te daria un error " no establecio la comunicacion" algo asi. Tengo que seguir estudiando el tema y espero, ir superando las etapas una por una. Un Saludo. |
|
#2
|
|||
|
|||
|
Hola Amigos.
Estoy tratando de recivir por el serial port una data y llevarla a un edit.Pero no lo logro.
Que esta mal aqui? Un Saludo. |
|
#3
|
|||
|
|||
|
Cita:
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#4
|
|||
|
|||
|
Leyendo un hilo en ASM donde muestras una página con el ejemplo de un code delphi vi esto que me parecio particularmente curioso
Te recomiendo que hagas un trace de tu codigo y ver que es lo que tiene el String Data. Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#5
|
|||
|
|||
|
Hola Egostar.
Creo entender la naturaleza del problema y a mi modo de entender.Es un problema de tiempo de ejecucion.Debo darle un tiempo entre el 02 y el 00 que mando al micro.
En la aplicacion original se maneja un timer (12 mhz). Existe alguna forma de frenar el tiempo de ejecucion de una aplicacion Delphi sin importar la velocidad del PC? Se puede crear un edit donde se pueda crear el tiempo de ejecucion de una aplicacion? Rodando este programita puedo ver que el micro no responde, esto lo veo en el monitor de serial port que utilizo.Y creo que al no tener un tiempo de retardo entre el 02 y el 00 el micro interpreta 0200 y el tiene que comparar primero 02 ejecutar una rutina luego 00 y determina que hacer en ese caso.( mandar 8 hex de retorno al serial port) Un Saludo. |
|
#6
|
|||
|
|||
|
Cita:
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#7
|
|||
|
|||
|
Esto es lo que me da el monitor de serial port:
Com1 Opened Baud Rate=56000 RTS Signal=False DTR Signal=False Line Control Change: None- 8- 1 Write 1 Bytes: 02 Write 1 Bytes: 00 Read 8 Bytes: 48 69 2D 4C 4F 47 49 43 Com1 Closed. Eso es lo que me da el monitor al espiar entre el programa y el micro original. El programita del micro esta configurado a interrumpir cualquier funcion y hacerle caso al serial port al recibir algo el lo compara y sigue una rutina en este caso al recibir 02 y luego de un tiempo (x) recibir el 00 el pasa a una rutina que manda al serial port de regreso esa cadena de 8 hex (que yo las puedo cambiar, todo lo que esta en el micro, lo puedo cambiar sin problemas, solo que despues de entender bien el funcionamiento de la aplicacion, cambiare algunas cosas del mismo. En el programa original del pc utilizan como decia un "Target Clock" esto en un edit para poder alterarlo. En realidad el clock del micro no se lo pueden alterar por sofware, entonces entiendo que estan frenando por asi decirlo al pc y que los hex 02 y 00 entren en un tiempo de separacion que le de tiempo al micro de manipularlos, compararlos y tomar decicion de que hacer. Un Saludo. |
|
#8
|
|||
|
|||
|
Para hacer pausas entre cada envio se usa la función Sleep(), puedes ir jugando con los valores, tal vez tambien necesites hacer alguna pausa antes de leer el puerto.
Yo haría una pausa mas larga, por ejemplo 120 ms entre envio y envio y una pausa de 256 ms antes de leer el puerto.
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Port Fordward Y Conexion A Firebird | mjjj | Firebird e Interbase | 4 | 28-12-2007 15:32:35 |
| Serial Port desde Delphi | MaMu | API de Windows | 2 | 19-06-2007 01:14:53 |
| Función PORT. para puerto LPT en XP | vicruffo | Varios | 2 | 09-03-2007 23:21:09 |
| Busco ordenador o portátil | Arcioneo | Varios | 2 | 18-07-2006 13:49:32 |
| Como se usa el Componente Serial Port en C# (VS2005)? | z-7 | .NET | 0 | 16-12-2005 05:02:05 |
|