10ms Vertraging in VB 6.0?

S

Sphinx

Guest
Hoi,

Ik wil een nauwkeurige 10ms vertraging in mijn programma

Ik gebruik deze

Sleep 10

Ik schrijf in module
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Is dat recht, mijn programma werkt niet

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Triest" border="0" />Ik moet deze vertraging te wissen van de AT89C51/52 chip

Thanx

 
hey sfinx u dont zijn om een zeer nauwkeurige vertraging van de flitser te wissen.Het moet meer zijn dan 10ms i guess.Dus ur slaap zou moeten werken of anders proberen met behulp van een vertraging op basis van het getSytemTick concept.Welke programmeur are u proberen .. interface??

 
H mcs51,

Ik probeer interface om deze programmeur

http://www.batronix.com/electronic/circuits/mc-programmer-2.shtml

Sphinx

 
steekproef: http://www.visualbasicforum.com/t35431.html

en: http://www.mentalis.org/apilist/timeGetTime.shtmlgenieten

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Koel" border="0" />
 
ALLE Hi Guys,

Thanx voor al uw hulp.
Ik vond de fout, nu ben ik afwerken van het programma GUI.

Het zal beschikbaar zijn op Elektroda na 2 of 3 dagen.<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />Sfinx van Egypte

 
Hoi,

U kunt zeer nauwkeurig met behulp van vertraging queryperformancetimer en queryperformancefrequency functies, maar dat is in Visual C

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />Sante!

 
Sleep een timer in uw formulier, instellen op 10 ...

load up eerste voordat er iets
form1.text1 = 0

indien form1.text1 = 0 Form1.Timer1.Interval = 0
Form1.Timer1.Interval = 10

dan op je timer dubbelklik erop en zet in
Form1.text1 = 1

Nou het is zoiets anyways

Ook als iemand weet hoe om zich te ontdoen van de cursor te knipperen terwijl het programma / spel draait Ik zou graag willen weten ...
sante

 
Ook als iemand wil zijn mooi en doneer me als 5 punten Ik zou het waarderen

<img src="http://www.edaboard.com/images/smiles/icon_razz.gif" alt="Razz" border="0" />eigenlijk zelfs wanneer u doneert 1 punt Ik zou graag ...Ik wil gewoon iets gaan halen en ik ben nog steeds een nieuwe gebruiker

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Triest" border="0" />maar als een van je land te spelen van Crom Ik zal helpen met alles wat ik kon doen daar ...wil zeggen druk op de toets toetsenbord sneltoetsen zoals ik ding oorzaak gevonden dat echt moeilijk was om code te vinden voor, voor Visual Basic 6.0 anyways
bedankt

 
hoi,

Op Pentium-processoren, kunt u gebruik maken van de TSC register heks telt klok verwerker cycli van de macht op.U moet de CPU-frequentie caculate voordat u TSC registreren.Er is veel van de beschrijving over het onderwerp, probeer dan een zoekopdracht met Google.Er is een goed gedaan oude Intel pdf-bestand op het onderwerp:

h ** p: / / www.math.uwaterloo.ca/ ~ jamuir/rdtscpm1.pdf

* = T

 
valcarni wrote:

Sleep een timer in uw formulier, instellen op 10 ...load up eerste voordat er iets

form1.text1 = 0indien form1.text1 = 0 Form1.Timer1.Interval = 0

Form1.Timer1.Interval = 10dan op je timer dubbelklik erop en zet in

Form1.text1 = 1Nou het is zoiets anywaysOok als iemand weet hoe om zich te ontdoen van de cursor te knipperen terwijl het programma / spel draait Ik zou graag willen weten ...

sante
 
Hoi,

Deze link geeft een aantal adviezen hoe u de API te gebruiken.Ik heb het getest en kreeg een aantal goede resultaten.Door het volgen van een aantal van de beschreven regels, kunt u gemakkelijk 1 tot 2 ms vertraging.

h ** p: / / www.geisswerks.com / Ryan / faqs / timing.html

* = T

 
Eenvoudige vraag, simpel antwoord.waarom?omdat je wilt pauzeren code, niet timer ...

in de bijlage vindt u gerelateerde routines.

Als u wilt GUI beantwoorden of met behulp van evenementen
Bel WaitDoeventsX (WaitTimeInMilliseconds)

anders gebruiken
Bel WaitX (WaitTimeInMilliseconds)

kijken lussen ...kan interessant zijn voordelen ...

Bel WaitX (10) "zal wachten 10ms
Bel WaitX (1000) 'wacht 1 seconde

Bel WaitX (0.5) 'wacht MICRO 500 seconden

In mijn computer zijn monitoringresultaten 0,3 microseconden (1 / 3570000).

U kunt ook gebruik timerX functie voor het meten van uw code snelheid.
dim een dubbele
a = timerx
...
..
Debug.Print "timerequired =", timerx-aOPMERKING:

Timer VB component zal niet werken ...
Timer () functie zal niet werken ...
GetTickCount () niet zal werken voor pauzeren in milliseconden ...
omdat hun monitoringresultaten afhankelijk van computer die u gebruikt.
it doesnt statische mier variëren van 16.25ms tot 55ms in het algemeen ...

slaap mag geen goed idee omdat het niet kan garanderen 10ms en je app zal volledig bevriezen.
Sorry, maar je moet inloggen om deze gehechtheid

 
Als u wilt wachten voor het wissen AT89C51 je op vele manieren:
- Schrijf een subroutine 10ms vertraging in de assemblage voor AT89C51 (master), na de meester de slaaf gewist, zal het verzenden aankondiging op de pc te sturen gegevens voor de programmering slaaf.component in VB6 on Toolbox page (Clock fig.).

- Gebruik Timer
component in VB6 op Toolbox pagina (Klok afb..).zet het op uw formulier.Eigenschappen wijzigen (Interval eigendom) = 10 (unit in milliseconden).
Succes.

 
TRUNGDPHAN,

U kunt geen timer VB component te wachten / pauze 10ms.
Ook timer-functie is nutteloos voor 10ms.

Controleer uw systeem.Timer Component en monitoringresultaten timer functie hangt af van de computer die u gebruikt.

min monitoringresultaten is van 16.25ms tot 55ms in de meeste systemen.
als timer van uw systeem resolation is 16.25 ms dan kunt u gebruik maken 16,25 = 17 ms, 16,25 * 2 = 33ms, 16,25 * 3 = 49 ms.

indien ingesteld timer1.interval = 10 dan timer evenement zal worden geactiveerd 17 milliseconde later ...

 
Ik met u eens.Heeft u manieren om de vertraging die niet afhankelijk is van het systeem?

 
Hi ben123,
Wat is de configuratie van uw computer, dat geeft je een 0,3 microseconden monitoringresultaten?<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />
 
Hoi

Op de meeste recente PC, Performance Counter frequentie is 3.579.545 Hz.De periode van deze klok is 1 / 3.579.545 = 279.3ns.Op oudere PC, de frequentie waarde is 1.193.000 Hz (838.2ns).

Voor het lezen van de Performance Counter Frequentie waarde van uw pc, gebruik QueryPerformanceFrequency () functie API's.

Te lezen Performance Counter huidige waarde, gebruik QueryPerformanceCounter () functie API's.

Zie de MSDN-site's voor meer informatie over deze functies (gebruik zoeken): h ** p: / / msdn.microsoft.com /

* = T

 
Ik denk dat KAN GEEN gebruik van API's voor zeer vertraging timer.

Probleem is systeem zijn aandeel timer voor veel programma's.In Windows, probeerde ik met enkele API's functies, en het resultaat is ongeveer 18,2 keer per seconde.

Ik denk dat u uw eigen timer interrupt handler moet schrijven.We kunnen met 8192 keer per seconde.

 
Hoi,

Neem een kijkje op deze:

h ** p: / / msdn.microsoft.com / library / default.asp? url = / library/en-us/vbcon98/html/vbconaccessingdllswindowsapi.asp

Na dat, eens een kijkje op dat:

h ** p: / / www.geisswerks.com / Ryan / faqs / timing.html

Door het instellen van het systeem slapen op een 1 ms grens, zoals beschreven in een van de laatste schakel Zo kunt u bij de slaapduur u wilt.

* = T

 

Welcome to EDABoard.com

Sponsor

Back
Top