Analisando propostas

Controle de motor de passo

Publicado em 03 de Janeiro de 2017 dias na TI e Programação

Sobre este projeto

Aberto

#Include
#include
#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 nao 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();
}

Categoria TI e Programação
Subcategoria Programação de Apps para Android, iOS e outros
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário

Prazo de Entrega: Não estabelecido