Na reunião feita com o monitor Ícaro, podemos tirar algumas duvidas e quase concluir a programação. Toda a parte de codigos já está feitas, porem e preciso só colocar alguns dados que vamos obter ainda com os testes com os motores.
A PROGRAMAÇÂO:
//CHAMADA DINAMICA A DLL -> INPOUT32.DLL
#include < stdio.h >
#include < stdlib.h >
#include < conio.h >
#include < windows.h > //Necessário para: LoadLibrary(), GetProcAddress() e HINSTANCE.
//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().
void mest(){
char l;
while(l!='s'){
scanf("%c",&l);
}
outportB(0x378,4);
while(inportB(0x379)==198){ }
sleep(XX);\\tempo en mili segundos
outportB(0x378,0);
}
void mde23(){
outportB(0x378,1);
sleep();\\determinar o tempo em mili segundos
outportB(0x378,0);
sleep(1000);\\determinar o tempo em mili segundos
outportB(0x378,2);
sleep();\\determinar o tempo em mili segundos
outportB(0x378,0);
}
int main(int argc, char *argv[])
{
char esc;
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;
}
while (1){
printf("***************************************************************************************");
printf("* \n * \t\t\t EQUIPE NOTOXY *\n \t\t\t *");
printf("* \n * \t\t\t Projeto arhte 2009.2 *\n \t\t\t *");
printf("* \n * \t\t\t Direitos reservados *\n \t\t\t *");
printf("* \n * \t Se deseja ligar o motor da esteira aperte: y *\t \n *");
printf("* \n * \t Se deseja ligar o motor para empurrar: p *\t \n *");
printf("***************************************************************************************");
printf("");
while(c!='y' && c!='p'){
scanf("%c",&esc);
}
if(c=='y'){\\aciona o motor da esteira
mest();
}
if(c=='p'){\\aciona o motor 2 e 3
mde23();
}
}
system("pause");
FreeLibrary(hLib); //Libera memória alocada pela DLL. Deve ser executado no fim do programa.
}
EQUIPE NOTOXY
terça-feira, 22 de setembro de 2009
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário