Ir ao conteúdo
  • Cadastre-se

Emerson Santo Jorge

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Tudo que Emerson Santo Jorge postou

  1. Bom dia, sou novo no fórum e estou com um problema, recentemente iniciei o tecnólogo em automação industrial, e logo um professor passou um trabalho para acender alguns leds pela porta paralela, o programa que estou usando executa no dos mas quando teclo em um número gera um erro no Windows, alguém pode me ajudar? #include <stdio.h> // Biblioteca Standard Input/Output #include <stdlib.h> #include <conio.h> // Biblioteca necessária para o uso da função getch(); #include <windows.h> // Biblioteca necessária para o carregamento da inpout32.dll #include <time.h> #define LPT1 0x378 /*Inpout32*/ //Declaração dos ponteiros para função. typedef short _stdcall (*inpfuncPtr)(short portaddr); typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum); int main() { //system ("color 18"); printf("\n\t\tDATA : %s HORA: %s\n\n",__DATE__,__TIME__); HINSTANCE hLib; //Instância para a DLL inpout32.dll. inpfuncPtr inportb; //Instância para a função Imp32(). oupfuncPtr outportb; //Instância para a função Out32(). /*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."); return-1; } inportb = (inpfuncPtr) 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 = (oupfuncPtr) GetProcAddress(hLib, "Out32"); if(outportb == NULL) { printf("\n\aErro. Erro ao endereçar a função Out32."); return-1; } /*Inpout32*/ //Interface// { printf("=============================================================\n"); //Programa de Controle// char teclado=' '; puts("\n\tAcionamento de controle de equipamentos externos."); printf("\n=============================================================\n"); puts("Ligar ou desligar equipamentos acoplados na porta paralela.\nAperte as teclas referentes a eles:\n"); puts("0 - LED VERMELHO \n1 - LED AMARELO \n2 - LED VERDE \n3 - LED VERMELHO \n4 - LED VERDE \n5 - LED AMARELO \n6 - LED VERMELHO \n7 - LED AMARELO "); puts("8 - *TESTA TODOS OS LEDS*"); puts("9 - *TESTA TODOS OS LEDS SEQUENCIAL*"); puts("\n\n\n(**Quando quiser terminar o programa digite p para parar.**)"); puts("(***==========================================mecatronizar.blogspot.com.br***)"); teclado=getch(); while(teclado!='p') { switch(teclado) { case '0': outportb(0x378,1); /* A função que manda um byte para a porta paralela no caso o número 1 ou 0000 0001 em binário*/ //system ("colorc8"); break; case '1': outportb(0x378,2); /* Novamente a função que manda um dado a porta paralela*/ //system ("color e8"); break; case '2': outportb(0x378,4); //system ("color a8"); break; case '3': outportb(0x378,8); //system ("color c8"); break; case '4': outportb(0x378,16); //system ("color a8"); break; case '5': outportb(0x378,32); //system ("color e8"); break; case '6': outportb(0x378,64); //system ("color c8"); break; case '7': outportb(0x378,128); //system ("color e8"); break; case '8': outportb(0x378,0XFF); //system ("color e8"); break; case '9': outportb(0x378,1); sleep(2000); outportb(0x378,2); sleep(2000); outportb(0x378,4); sleep(2000); outportb(0x378,8); sleep(2000); outportb(0x378,16); sleep(2000); outportb(0x378,32); sleep(2000); outportb(0x378,64); sleep(2000); outportb(0x378,128); sleep(1000); outportb(0x378,0X00); sleep(1000); outportb(0x378,0XFF); sleep(1000); outportb(0x378,0X00); sleep(1000); outportb(0x378,0XFF); sleep(1000); outportb(0x378,0X00); sleep(1000); outportb(0x378,0XFF); sleep(1000); outportb(0x378,0X00); sleep(1000); outportb(0x378,0XFF); sleep(1000); outportb(0x378,128); sleep(100); outportb(0x378,64); sleep(100); outportb(0x378,32); sleep(100); outportb(0x378,16); sleep(100); outportb(0x378,8); sleep(100); outportb(0x378,4); sleep(100); outportb(0x378,2); sleep(100); outportb(0x378,1); //system ("color e8"); break; } teclado=getch(); } outportb(0x378,0); FreeLibrary (hLib); } return 0; } //fim do else pertencente ao if que testa se carregou a dll //fim da função main e do programa Segue imagem do erro

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!