Visual C++ 6.0

Hola, me gustaría saber como puedo hacer un programa en Visual C++ 6.0 que me permita ller y escribir en el puerto paralelo. He tenido problemas para llamar las librerías necesarias y de la forma adecuada ya que me aparecen errores. Si me puedes dar un ejemplito te lo agradezco.
Me gustaría que me dieras información sobre algún tutorial o curso de lenguaje ensamblador. Algo que me guie en todo, desde que editor de código necesito (no se si se puede con MS DOS) hasta como escribir el programa y como ejecutarlo. Gracias por tu tiempo.

1 Respuesta

Respuesta
1
Para escribir/leer en el puerto serie, utiliza la API
CreateFile para abrir el puerto. Usa WriteFile o ReadFile, para escribir o
leer los datos que quieras respectivamente.
Además deberás rellenar algunas estructuras relacionadas con la gestión de
los puerto. Te lo resumo en
1.- Abre el puerto, utilizando CreateFile
2.- Especifica los eventos que te serán atendidos. Para ello utiliza
SetCommMask
3.- Define los buffers. Para ello usa SetupComm
4.- Crea una estructura DCB para la configuración del puerto
5.- Utiliza las funciones GetCommState para obtener la configuración inicial
del puerto
6.- Pon la configuración que desees con SetCommState
8.- Utiliza WriteFile/ReadFile para enviar o recibir datos. Para ello
deberás tener algún proceso que te permita estar a la espera de los datos
que la aplicación desea recibir. WaitCommEvent
9.-CloseHandle cuando hayas terminado.
Puedes mirar la ayuda de las siguientes funciones: SetCommTimeouts,
GetLastError, ClearCommError y BuildCommDCB. Busca en el MSDN el apartado
"Comunications"
Aquí tienes un pequeño ejemplo:
DCB dcb;
HANDLE hCom;
DWORD dwError;
BOOL fSuccess;
hCom = CreateFile("COM1",
GENERIC_READ | GENERIC_WRITE,
0, /* Para comunicaciones por el puerto serie, siempre a 0*/
NULL, /* nada de atributos de seguridad */
OPEN_EXISTING, /* Siempre OPEN_EXISTING para comunicaciones */
0,
NULL /* Siempre a NULL */
);
if (hCom == INVALID_HANDLE_VALUE) {
dwError = GetLastError();
/* Error */
}
/* Conseguimos la config. por defecto */
fSuccess = GetCommState(hCom, &dcb);
if (!fSuccess) {
/*Error */
}
/* Llenamos DCB: baudios=9600, 8 data bits, sin paridad, 1 stop bit. */
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
fSuccess = SetCommState(hCom, &dcb);
if (!fSuccess) {
/* Error */
}
Sobre ensamblador, aqui tienes un tutorial muy bueno
http://homepage.mac.com/eravila/asmix86.html

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas