#include
#include
#include
#include
#include
//ENVIAR DADOS PELA PORTA PARALELA
//Declaração dos ponteiros para função.
typedef short _stdcall (*PtrInp)(short EndPorta);
typedef void _stdcall (*PtrOut)(short EndPorta, short valor);
HINSTANCE hLib; //Instância para a DLL inpout32.dll.
PtrInp inportB; //Instância para a função Imp32().
PtrOut outportB; //Instância para a função Out32().
/*programa para acender um LED a cada volta */
int main(int argc, char *argv[]){
hLib = LoadLibrary("inpout32.dll"); //Carrega a DLL na memória.
if(hLib == NULL) //Verifica se houve erro.
{
printf("Erro. O arquivo inpout32.dll não foi encontrado.\n");
printf("Eh necessario que o arquivo .dll esteja na mesma pasta deste programa!!\n"); getch();
return -1;
}
inportB = (PtrInp) GetProcAddress(hLib, "Inp32"); //Obtém o endereço da função Inp32 contida na DLL.
if(inportB == NULL) //Verifica se houve erro.
{
printf("Erro. A função Inp32 não foi encontrada.\n");
getch();
return -1;
}
outportB = (PtrOut) GetProcAddress(hLib, "Out32"); //Obtém o endereço da função Out32 contida na DLL.
if(outportB == NULL) //Verifica se houve erro.
{
printf("Erro. A função Out32 não foi encontrada.\n");
getch();
return -1;
}
//SEU CÓDIGO FICA AQUI!!!
int i, j , saida[4]={1,2,4,8};
int controle[4]={0,1,3,7};
while(!kbhit()) {
for(j=0;j<4;j++)
{
for(i=0;i<4;i++)
{
outportB(0x378,saida[i]+controle[j]);
printf("%d\n",(saida[i]+controle[j]));
sleep(1000);
}
}
}
system("pause");
FreeLibrary(hLib); //Libera memória alocada pela DLL. Deve ser executado no fim do programa.
}