Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 08.02.2005, 23:34 Titel: 25ms Verzögerung |
|
|
Nabend.
Ich bräuchte mal eine Verzögerung von 25ms in einem Programm. Besser gesagt ein EEPROM-Writer, dort ist das Timing sehr kritisch.
Hat jemand sowas rumliegen oder weiß wie ich einen Delay von genau 25ms erzeugen kann ?
Wäre über Antworten höchst erfreut  _________________
 |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 08.02.2005, 23:46 Titel: |
|
|
Sehr zeitkritisch?
Wie genau muss das dann sein?
Ich hab da mal ne Lösung für Animationen geschrieben. Hat aber so um die 10% ungenauigkeit....
Naja, vllt hilfts dir:
Code: |
DECLARE SUB GetDelay
DECLARE SUB MakeDelay (msek AS INTEGER)
COMMON SHARED loops
GetDelay
'Hauptprogramm...
SUB GetDelay
t1! = TIMER
DO
loops = loops +1
LOOP UNTIL TIMER >= t1! + 1
loops = loops * 107
END SUB
SUB MakeDelay (sek AS INTEGER)
FOR s = 1 to sek
FOR d = 0 to loops
NEXT
NEXT
END SUB
|
Wie gesagt, für Animationen genügts.
Ach ja, noch was:
Thomas Antoni hat auch ein Programm geschrieben, das genau nach dem selben Prinzip funktioniert. Das habe ich aber erst gefunden, nachdem ich meine Version fertig hatte.
Nur falls es mal um Copyrights gehen würde
Ob das jetzt genau genug ist...
Wie gesagt, für Animationen is es gut genug.
Hoffe, es hilft dir! _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 08.02.2005, 23:59 Titel: |
|
|
Voraussetzung ist übrigens reines MS-DOS 6.22 für so etwas; bei laufendem Windows im Hintergrund schwankt es ganz extrem. => der alte, in der Ecke stehende 75er-Pentium als Mess- und Steuer-PC ist hier schon ein absolutes Muss. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 09.02.2005, 00:35 Titel: |
|
|
Hallo!
Diese Methode funktioniert auch unter Windows einigermassen stabil, weil sie auf die TIMER-Register zugreift. In 25ms sollte Windows seinen Kram zwischendurch erledigt haben. Unter DOS ist natürlich immer besser.
Code: | nop = INP(64)
start = INP(64)
DO
nop = INP(64)
jetzt = INP(64)
d = start - jetzt
IF d < 0 THEN d = d + 256
LOOP WHILE d < 117 |
Das erzeugt eine einmalige Verzögerung von 25ms auf ca. 0,1ms genau. Wenn du in einem regelmässigen Takt etwas ausführen willst, darfst du natürlich nicht jedesmal den Wert von "start" vor der DO...LOOP Schleife auffrischen, sondern muss mit dem Endwert von "jetzt" aus der vorhergehenden Verzögerungsschleife weiterarbeiten.
Ich habe übrigens auch schon EEPROMs mittels QBasicprogramm beschrieben und ausgelesen. Sowohl parallele als auch serielle. Eine zeitliche Steuerung war dabei aber nie nötig.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 09.02.2005, 00:41 Titel: |
|
|
@Skill: Danke erstmal für den Code.
Exisitieren (zufällig oder mit Absicht) Schaltpläne von dem EEPROM-Schreiber/Leser von dir ? Ich krieg hier ne Krise weil alles nicht so läuft wie ich es haben will Es ist ein AT28C16-15PI (2kB) _________________
 |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 09.02.2005, 01:17 Titel: |
|
|
Hallo
Genau mit diesem Ding (28C16) habe ich auch schon was gemacht. Mein Steuergerät dafür ist allerdings etwas umständlich konstruiert, weil es auch unabhängig vom Rechner laufen sollte. Mittlerweile würde ich es evtl. anders bauen, aber es hat funktioniert. Der Schaltplan dafür existiert nicht mehr, aber vielleicht hilft dir dieses Bild davon weiter:
http://www.skilltronics.de/runterlader/28C16.jpg
Da das jedoch kaum noch mit QBasic zu tun hat würde ich sagen, du kannst mir ja mal mailen oder (spam) wir wechseln in mein Elektronikforum (spam ende)
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
|