#include
#include
//Inpout32
//Declaração dos ponteiros para função.
typedef short _stdcall (*PtrInp)(short EndPorta);
typedef void _stdcall (*PtrOut)(short EndPorta, short datum);
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().
//Inpout32
int main()
{
//Inpout32
//Carrega a DLL na memória.
hLib = LoadLibrary("inpout32.dll");
if(hLib == NULL)
{
printf("\n\aErro. O arquivo inpout32.DLL nao foi encontrado.\nO programa vai terminar apos digitar qualquer tecla.");
getch();
}
else {//Todo o programa só será executado apenas se a dll for carregada.
//Obtém o endereço da função Inp32 contida na DLL.
inportB = (PtrInp) GetProcAddress(hLib, "Inp32");
if(inportB == NULL)
{
printf("\n\aErro. Erro ao endereçar a função Inp32.");
}
//Obtém o endereço da função Out32 contida na DLL.
outportB = (PtrOut) GetProcAddress(hLib, "Out32");
if(outportB == NULL)
{
printf("\n\aErro. Erro ao endereçar a função Out32.");
}
//Inpout32
char teclado=' '; //declaração de variaveis
//interação com usuarios
printf (" Software para controle de LEDs atraves de porta paralela!\n\n");
printf (" Selecione uma das opcoes abaixo:");
printf ("\n\n LED 1 : 1\n LED 2 : 2\n LED 3 : 3\n Rele: 4\n LED 5 : 5\n LED 6 : 6\n LED 7 : 7\n");
printf( "\n\n Zerar todos os LEDs: 0\n");
printf( " Sair do programa: s\n\n ");
teclado = getch (); //função em que o usuario não precisa dar enter para leitura dos dados
while (teclado != 's' ) //enquanto teclado diferente de s executa a tarefa abaixo
{ switch (teclado)
{ case '0':
outportB(0x778,0); //zera todos os LEDs
break;
case '1':
outportB(0x778,1); // acende LED 1
break;
case '2':
outportB(0x378,2); // acende LED 2
break;
case '3':
outportB(0x378,4);
break;
case '4':
outportB(0x378,8); // aciona o rele
break;
case '5':
outportB(0x378,16);
break;
case '6':
outportB(0x378,32);
break;
case '7':
outportB(0x378,64);
break;
case '8':
outportB(0x378,128);
break;
default: // comando necessario caso o usuario digite uma opção invalida
printf (" Opção invalida!!! \n Digite outra letra.\n ");
break;
}
teclado=getch();
}
}
}
Nenhum comentário:
Postar um comentário