Foros del Web » Programación para mayores de 30 ;) » Programación General »

Prescindir del ensamblador

Estas en el tema de Prescindir del ensamblador en el foro de Programación General en Foros del Web. Hola a todos. Quiero programar en C una pequeña aplicación para poder comunicarme por el puerto serie con un microcontrolador, y luego poder hacerlo con ...
  #1 (permalink)  
Antiguo 11/09/2004, 03:08
 
Fecha de Ingreso: septiembre-2003
Mensajes: 48
Antigüedad: 20 años, 7 meses
Puntos: 1
Prescindir del ensamblador

Hola a todos. Quiero programar en C una pequeña aplicación para poder comunicarme por el puerto serie con un microcontrolador, y luego poder hacerlo con cualquier aparato que pueda ser controlado por el mismo puerto, por ello quisiera saber si puedo hacer dicha aplicación enteramente en C sin necesidad de recurrir al ensamblador. Gracias.
  #2 (permalink)  
Antiguo 11/09/2004, 03:53
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Supongo que librerias de alto nivel hay para cualquier Sistema Operativo, sino recuerdo mal en MSVC++ para MS-DOS y Win9x hay un par de macros para enviar datos al puerto especificado (_inp y _outp de conio.h).
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 11/09/2004, 07:52
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Haber eternal idol, podrias darme un poco mas informacion acerca de como manejar los puertos???.

O algun tutorial.
salduos
  #4 (permalink)  
Antiguo 11/09/2004, 09:11
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Una busqueda en google con _inp nos deja el link a la msdn, imprescindible.

http://msdn.microsoft.com/library/en....2c_._inpd.asp

http://msdn.microsoft.com/library/en...2c_._outpd.asp

Estas funciones de entrada y salida establecen una comunicación con dispositivos externos. El canal que se utiliza se denomina puerto y tiene una dirección específica, estos puertos pueden ser de lectura, escritura o ambos.
En ensamblador existen las instrucciones in y out de las cuales estas funciones de VC++ son homologas, el efecto de las mismas depende del pureto en que se escriba y el valor que se escriba.

Código:
char segundos_reloj_bios
{
  char ret = 0;
  __asm
  {
    xor al,al        ;ponemos el registro al en 0
    out 70h, al    ;el reloj guarda los segundos en el byte 0
    in al,71h       ;guardamos los segundos en el registro al
    mov ret,at    ;le damos el valor de los segundos a la variable ret
  }
  return ret;
}
Esto sirve para MS-DOS y Win9x, pero se puede hacer mismo con funciones de alto nivel de cualquier sistema operativo. Si queres más información podes buscar en google, pero casi todo es ensamblador.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 11/09/2004 a las 09:13
  #5 (permalink)  
Antiguo 12/09/2004, 10:36
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Cracias eternal desde hace mucho que buscaba buena informacion sobre algo como esto.

No te preocupes, se leer ensamblador sin problemas.

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:33.