Parenti Postado Março 22, 2008 Denunciar Share Postado Março 22, 2008 (editado) Olá, estou tentando controlar um Motor de Passo utilizando a Porta Paralela com Linguagem em C.Uso esse loop para fazer o Motor Girar (rodar).1: {2: unsigned char Valor=8; //Em binário: 10003: while( Valor > 0 )4: { 5: outportb(LPT1, Valor); // Envia para a Porta LPT16: printf("\nPressione uma tecla para Rodar o Motor de Passo pela: %i vez..." ,Valor);7: getch( );8: Valor = Valor >> 1; //A cada passagem, o bit 1 é movido para a direita9: }10: }PROBLEMASe eu tirar o getch( ); (que está na linha 7: )O loop funciona corretamente, só que não gira o Motor de Passo.O que será que está acontecendo?Como posso fazer o Motor rodar sem precisar ficar "precionando" alguma tecla...Agradeço a ajuda!!! Editado Março 23, 2008 por Parenti Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Março 23, 2008 Denunciar Share Postado Março 23, 2008 Coloque um sleep e vá controlando o tempo.sleep é uma função que espera um tempo e então passa a execução para a próxima instrução.1: { 2: unsigned char Valor=8; //Em binário: 1000 3: while( Valor > 0 ) 4: { 5: outportb(LPT1, Valor); // Envia para a Porta LPT1 6: sleep(2); 7: valor >> 1; //A cada passagem, o bit 1 é movido para a direita 8: } 9: } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Parenti Postado Março 23, 2008 Autor Denunciar Share Postado Março 23, 2008 Obrigado kandrade!Só uma coisa (para quem tiver a mesma dúvida)Eu uso o Dev-C++ e a principio não funcionou. sleep(2);então pesquisei e descobri: _sleep(2);Obrigado mesmo pela ajuda... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Março 24, 2008 Denunciar Share Postado Março 24, 2008 Foi nada!!Valeu por compartilhar a solução.Abraço!Obrigado kandrade!Só uma coisa (para quem tiver a mesma dúvida)Eu uso o Dev-C++ e a principio não funcionou. sleep(2);então pesquisei e descobri: _sleep(2);Obrigado mesmo pela ajuda... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Parenti
Olá, estou tentando controlar um Motor de Passo utilizando a Porta Paralela com Linguagem em C.
Uso esse loop para fazer o Motor Girar (rodar).
1: {
2: unsigned char Valor=8; //Em binário: 1000
3: while( Valor > 0 )
4: {
5: outportb(LPT1, Valor); // Envia para a Porta LPT1
6: printf("\nPressione uma tecla para Rodar o Motor de Passo pela: %i vez..." ,Valor);
7: getch( );
8: Valor = Valor >> 1; //A cada passagem, o bit 1 é movido para a direita
9: }
10: }
PROBLEMA
Se eu tirar o getch( ); (que está na linha 7: )
O loop funciona corretamente, só que não gira o Motor de Passo.
O que será que está acontecendo?
Como posso fazer o Motor rodar sem precisar ficar "precionando" alguma tecla...
Agradeço a ajuda!!!
Editado por ParentiLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.