• Miércoles 3 de Julio de 2024, 03:44

Autor Tema:  Lectura De Datos En El Puerto Paralelo  (Leído 1436 veces)

Drache

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Lectura De Datos En El Puerto Paralelo
« en: Lunes 29 de Mayo de 2006, 10:34 »
0
Hola, estoy leyendo datos exitosamente del puerto paralelo, sin embargo, no logro la manera de que estos datos los tome como enteros, o como un binario o como lo que sea.

Es decir, no se como manipular el dato una vez leido porque no sé ni de que tipo es.

Al leerlo y imprimirlo en un Edit o Label, por ejemplo, para el dato correspondiente al decimal 94 se imprime este simbolo "^" el mismo que sale al presionar "Alt + 94"

Pues eso, para los otros datos me aparecen sus correspondientes y esta barra | para todos los simbolos como  estos ☻♥♦♣♠•◘○ que no se pueden mostrar en el Edit o Label.

Edit1->Text=PortIn(0x378);

Para que se den una idea, este es el código que estoy utilizando, pero me parece que deberia de llevar algo similar a un StrToFloat() o algo similar, que convierta el dato que se lee del puerto y lo cambie a uno que se pueda manejar de otro modo.

Escucho por ideas o propuestas, que yo programa por hobbie nunca he llevado clases de esto, pero he leido bastante de el puerto, pero ahora que logro leer el dato no sé como se manipula.

PARA UNA MEJOR EXPLICACION:
El dato que se lee de el puerto paralelo, va desde el 0 hasta el 255
es decir, 256 permutaciones son las que existen para un byte, o 8 bites.
Entonces, al meter el 0, no sale nada, el ALT + 0 = NADA.
Lo mismo pasa con el 1, ALT + 1 = ☺ (una carita, pero esta no se despliega enlos edits)
y si continuara uno por uno... (ya lo hice)
encontraria algunos caracteres que SI despliega el edit, tales como el
19 ()
33(!)
34(")
35(#)
36($)
37(%)
38(&)
39(')
40(()
41())
42(*)
....
Hasta llegar a la conocida @
64(@)
94(^)

Entonces, el problema no está en leer el dato del puerto, eso ya lo logré.

El problema es que al querer manipularlo, es como si presionaran el ALT + el dato que entra al puerto en decimal. (del 0 al 255)

Quisiera saber como puedo manipularlo, como si fuera el decimal para poder desplegarlo en un Label o Edit, tal cual es un decimal del 0 al 255, y no con esos simbolos raros.

Gracias

Vatoicc

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: Lectura De Datos En El Puerto Paralelo
« Respuesta #1 en: Martes 30 de Mayo de 2006, 17:35 »
0
Pues te dire...
Lo que recibes del puerto paralelo es un Byte, asi que puedes declarar una variable tipo Byte para guardar el dato que recibes del puerto.

   Byte Puerto  = PortIn(0x378);

y para ponerlo en el Edit como tu lo planteas, tendrias que usar la funcion IntToStr()

   Edit1->Text = IntToStr( Puerto );

o directamente de la funcion de entrada

   Edit1->Text = IntToStr( PortIn(0x378) );

no se si ya lo intestaste, pero asi es como me a funcionado a mi
La paranoia es una vision mas sutil de la vida

Drache

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Lectura De Datos En El Puerto Paralelo
« Respuesta #2 en: Miércoles 31 de Mayo de 2006, 07:53 »
0
Muchas gracias, el codigo funciona de maravilla.

simultáneamente yo utilicé el tipo Byte, solucione el problema así:

Citar
Byte Puerto;
Puerto=PortIn(0x378);
Edit->Text=Puerto;

agredezco mucho tu codigo, que tambien funciona y podre hacerlo como me venga mejor.

Un saludo