Dev - C++ - Ayuda Puerto Serial

 
Vista:

Ayuda Puerto Serial

Publicado por Andres (2 intervenciones) el 19/10/2007 01:04:42
Buenas a todos...
La verdad es la primera vez que pido apoyo en este foro pues hasta el momento disipaba dudas con los demas comentarios son muy buenos en cuestion de minimizar codigos para cumplir con el objetivo del mismo.
estoy elaborando un codigo donde por medio de un cable lpt conectado al puerto serial y en el otro extremo conectado a una protoboard donde monte un circuito con un display de 7 segmentos, primero corri un codigo donde un vector me mostraba lo siguiente
#include<iostream>
#include<windows.h>
using namespace std;
short int dato, dir;
int main()
{
int vector[10];
dir = 0x378; //direccion del puerto paralelo
vector[0]=0x3f; //dato decodificado para el 0
vector[1]=0x06; //dato decodificado para el 1
vector[2]=0x5b; //dato decodificado para el 2
vector[3]=0x4f; //dato decodificado para el 3
vector[4]=0x66; //dato decodificado para el 4
vector[5]=0x6d; //dato decodificado para el 5
vector[6]=0x7d; //dato decodificado para el 6
vector[7]=0x07; //dato decodificado para el 7
vector[8]=0x7f; //dato decodificado para el 8
vector[9]=0x67; //dato decodificado para el 9
for (int i=0;i<10;i++)

{
dato=vector[i];
asm("mov _dato, %ax"); //mueve al registro ax <-- dato
asm("mov _dir, %dx"); //mueve al registro dx <-- direccion
asm("out %al, %dx"); //saca el dato al puerto paralelo
cout<<"el dato numero "<<i+1<<"sacado al puerto es:"<<dato<<"\n";
Sleep (700); //pausa el programa por 1000ms=1s
}
return 0;
}
y cerraba el codigo luego lo modifique para que hiciera lo mismo infinitamente asi

#include<iostream>
#include<windows.h>
using namespace std;
short int dato, dir;
int main()
{
int vector[18];
int i;
do{
dir=0x378;
vector[0]=0x3f;
vector[1]=0x5b;
vector[2]=0x66;
vector[3]=0x7d;
vector[4]=0x7f;
vector[5]=0x06;
vector[6]=0x4f;
vector[7]=0x6d;
vector[8]=0x07;
vector[9]=0x67;
vector[10]=0x3f;
vector[11]=0x5b;
vector[12]=0x66;
vector[13]=0x7d;
vector[14]=0x7f;
vector[15]=0x06;
vector[16]=0x4f;
vector[17]=0x6d;
vector[18]=0x07;
for (i=0;i<18;i++)
{dato=vector[i];
asm("mov _dato, %ax");
asm("mov _dir, %dx");
asm("out %al, %dx");
cout<<"El dato numero"<<i+1<<"sacado al puerto es:"<<dato<<"\n";
Sleep(1000);
}
}while(i>=0);
return 0;
}
y aqui empiezan mis problemas necesito declarar que en el momento de digitar 's' en el teclado se detenga el bucle y me cierre el codigo como hago eso por que lo normal seria declarar una variable 's' y en el while dar los parametros para que se cumpla la condicion pero no me funciona que hago agradezco la ayuda que me puedan brindar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder