Amigos estou fazendo um código para contrar um dispositivo via porta paralela no linux, porem estou com o seguinte problema, vou colocar um exemplo do meu código aqui em baixo e já explico o que quero. #include <conio.h>
#include <iostream.h>
#include <unistd.h>
#include <sys/io.h>
main()
{
int Menu;
ioperm(0x378, 3, 1);
cout << "1 - Efeito 1\n";
cout << "2 - Efeito 2\n";
cout << "0 - Encerrar Programa\n";
cout << "Digite a Opcao: ";
cin >> Menu;
while(Menu != 0)
{
if(Menu == 1)
{
for(;;)
{
outb(0x09, 0x378);
sleep(1);
outb(0x06, 0x378);
sleep(1);
}
}
if(Menu == 2)
{
for(;;)
{
outb(0x01, 0x378);
sleep(1);
outb(0x03, 0x378);
sleep(1);
outb(0x07, 0x378);
sleep(1);
outb(0x0f, 0x378);
sleep(1);
outb(0x07, 0x378);
sleep(1);
outb(0x03, 0x378);
sleep(1);
}
}
cout << "1 - Efeito 1\n";
cout << "2 - Efeito 2\n";
cout << "0 - Encerrar Programa\n";
cout << "Digite uma Opcao: ";
cin >> Menu;
}
system("pause");
} como viram, quando o usuario escolhe uma opção no menu ele entra em um loop infinito, porem eu queria que o programa não parace nesse loop e sim que ele fizesse o loop e continuasse o programa até o usuario escolher outra opção e mudasse as instruções do dispositivo e assim sussetivamente. eu vi que para isso presciso usar threads, e até vi a biblioteca pthread.h porem não entendi como utilizar ela, sou muito fraca em programação orientada e em c. se der para me explicarem agradeço.