Como fazer um delay em VB

Programação Visual Basic

Moderadores: 51, guest2003

Como fazer um delay em VB

Mensagempor lmdmendes » 30 Out 2007 08:31

Ola

Estou a começar a usar VB, a primeira vista parece simples, estou a fazer um projecto para a escola q é feito em VB, usando a comunicao GPIB, RS232, LPT1 entre outras...
Estou agora na parteda LPT1, onde saquei a lib inpout, mas agora quero controlar um motor passa a passo e necessito de uns delays, e nao estou a ver como fazer.

Usar um timer do VB n me parece ser a melhor opçao :( mas ate ao momento foi a unica coisa q vi q faz uma especie de delay, como podem ver no exemplo a seguir, que manda um 0 para o registo data da LPT1 depois manda 3.

Exemplo:

Private Sub Form_Load()
xpto = 0
Out &H378, xpto
Text1.Text = Inp(&H378) 'Data
Timer1.Interval = 1000 ' Set Timer interval.
End Sub

Private Sub Timer1_Timer()
xpto = xpto + 3
Out &H378, xpto
Text1.Text = Inp(&H378) 'Data
End Sub

O problema é q num motor de passo a passo tenho q fazer uma sequencia com 4 passos, do tipo, envio um "1"delay"2"delay"4"delay"8"
E uma soluçao tipo a usada nesse exemplo em cima, nao me parece ser a mais aconselhada :P

Se alguem me poder dar uma ajuda agradecia.

Um Abraço
lmdmendes
Bit
 
Mensagens: 46
Registrado em: 13 Out 2006 13:29
Localização: Portugal

Mensagempor LeandroPIC » 21 Nov 2007 11:35

Use uma API do windows ou um Delay por software, mas esse ultimo vai depeder da máquina...!!!!!!!
Avatar do usuário
LeandroPIC
Byte
 
Mensagens: 163
Registrado em: 06 Jul 2007 12:19

Mensagempor future » 29 Jan 2008 16:21

Usa o comando SLEEP?
future
Bit
 
Mensagens: 24
Registrado em: 06 Mai 2007 00:38

Mensagempor zielpunkt » 29 Jan 2008 16:27

...Nosssa!!! eheh...
"Talento é mais barato que sal. O que separa a pessoa talentosa da bem-sucedida é muito trabalho duro." [ Stephen King ]
zielpunkt
Byte
 
Mensagens: 376
Registrado em: 12 Out 2006 11:36
Localização: Sao Paulo - SP

Mensagempor rod_ladeira » 05 Fev 2009 14:17

No Módulo insira a seguinte função:

Public Declare Function GetTickCount Lib "kernel32" () As Long

Public Sub wait(ByVal dblMilliseconds As Double)
Dim dblStart As Double
Dim dblEnd As Double
Dim dblTickCount As Double

dblTickCount = GetTickCount()
dblStart = GetTickCount()
dblEnd = GetTickCount + dblMilliseconds

Do
DoEvents
dblTickCount = GetTickCount()
Loop Until dblTickCount > dblEnd Or dblTickCount < dblStart


End Sub

abraço
Projetos eletrônicos......
www.angoera.com.br
rod_ladeira
Bit
 
Mensagens: 33
Registrado em: 17 Dez 2007 14:37
Localização: São Paulo


Voltar para Visual Basic

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

x