Pesquisar na Comunidade
Mostrando resultados para as tags ''motor de passo''.
Encontrado 1 registro
-
Então galera. Venho a essa comunidade solicitar ajuda para completar meu algoritmo, sabendo que a comunidade tem grandes mestre programadores e, sendo Um novato em programação (na verdade iniciando ainda na logica de programação ) e tenho interesse em controlar motor de passo pela porta paralela estou montando uma mesa y.z, aos poucos a parte eletrônica e mecânica já esta pronta, os drives e os motores de passo já estão alojados, encontrei esse algoritmo para testa um dos motores, mas quando vou copilar no DEV –C ++ , ele da erro se alguém puder me ajuda fazendo o teste no Dev-C++ agradeço . Desde já agradeço Todas as mentes grandes de hoje um dia nascerão pequenas. Abaixo meu código (falta completa as bibliotecas ) #include <stdio.h> #include <conio.h> #include <Windows.h> #include #include //Necessário para: LoadLibrary(), GetProcAddress() e HINSTANCE. #define ESC 27 #define velox 500 //#define VOLUME 100 #define LPT1 0x378 //Declaração dos ponteiros para função. typedef short _stdcall (*PtrInp)(short EndPorta); typedef void _stdcall (*PtrOut)(short EndPorta, short valor); void Sair(void * nulo); char sai; int main(void) { 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(). //Carrega a DLL na memória. hLib = LoadLibrary("inpout32.dll"); int sair=0,opcao,p,v=1; unsigned char Valor=1; if(hLib == NULL) //Verifica se houve erro. { printf("Erro. O arquivo inpout32.dll não foi encontrado.\n"); getch(); return -1; } //Obtém o endereço da função Out32 contida na DLL. outportB = (PtrOut) GetProcAddress(hLib, "Out32"); if(outportB == NULL) //Verifica se houve erro. { printf("Erro. A função Out32 não foi encontrada.\n"); getch(); return -1; } //outportB(0x37a,0x01); printf("=======================================================================\n"); printf("|| ||\n"); printf("|| MENU ||\n"); printf("=======================================================================\n"); printf("|| ||\n"); printf("||Digite : ||\n"); printf("||1 - Movimento em passo ||\n"); printf("||2 - Sair do programa ||\n"); printf("||OBS:ESC-Sai do programa em qualquer momento ||\n"); printf("=======================================================================\n"); scanf("%d",&opcao); getch(); system("cls"); _beginthread(Sair,0,NULL); switch(opcao){ case 1: while(sai != ESC) { Sleep(velox); //v=v+10; // saber quanto de agua sobe em um passo ou por 1/4 de passo if(Valor>8) Valor=1; outportB(LPT1,Valor);//tem que confirmar se tar certo Valor = Valor << 1; } break; case 2: printf("Saindo do programa ..."); getch(); exit(1); default: printf("ERRO!O programa não ira executar."); getch(); exit(1); } printf("Foi transportado xx ml de agua com sucesso!"); getch(); FreeLibrary(hLib); //Libera memória alocada pela DLL. return(0); } void Sair(void * nulo) { while(sai != ESC) { sai=getch(); } _endthread(); }