Jump to content
Fórum Script Brasil
  • 0

Threads


Rodolfo Rodrigo Menardi

Question

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.

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...