
jeffersonads
(usa Debian)
Enviado em 03/11/2008 - 14:08h
Fala galera...
sou novo aqui no fórum e pretendo ajudar sempre que possível...
Contudo, estou com um probleminha na execução de um programa de comunicação de porta paralela,
Consigo compilar e td mais... só que na hora da execução me retorna um erro:
Falha de Segmentação.
Utilizo o Ubuntu 8.04 e não sei como proceder no problema...
Segue o código que fiz:
#include <conio.h>
#include <sys/io.h>
#include <iostream>
#include <unistd.h>
unsigned char Valor; //Variavel com o valor a ser enviado;
//Classe que ativa/desativa a permissao na porta
class Ativa{
public:
int Habilita()
{
if(!ioperm(0x378, 3, 1)) return 0;
//0x378 - Endereço Inicial de Permissão de acesso
//3 - Endereço Final de Permissão de acesso (0x378, 9, A)
//1 - Ativa Permissão para o programa
//Retorna 1 se permite acesso, 0 senão
}
void Desabilita()
{
ioperm(0x378, 3, 0);
//0x378 - Endereço Inicial de Permissão de acesso
//3 - Endereço Final de Permissão de acesso
//respectivamente (0x378, 9, A)
//0 - Desativa Permissão para o programa
//Retorna 1 se permite acesso, 0 senão
}
};
//Fim da Classe
int main(void)
{
Ativa *Objeto = new Ativa();
Objeto->Habilita();
Valor = 0x01;
outb(Valor, 0x378);
sleep(1);
Objeto->Desabilita();
delete Objeto;
}