Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

wait (x) w pascal

Moderatorzy: Jacek Bogusz, Moderatorzy

Awatar użytkownika
sapero
-
-
Posty: 29
Rejestracja: 5 cze 2003, o 21:35
Lokalizacja: Gliwice
Kontaktowanie:

wait (x) w pascal

Postautor: sapero » 16 lip 2003, o 12:37

Hi

Wiem, że w pascalu jest rozkaz wait (x), gdzie x reprezentuje liczbę milisekund. Czy ktoś wie, czy wait (2) faktycznie pałzuje program na 2ms czy trochę więcej?

Prosiłbym posiadaczy częstościomierza (i pascala) o uruchomienie takiego czegoś:

do
port lpt=0 ; albo jakoś tak - nieznam pascala
wait (2)
port lpt=255
wait (2)
loop


czy na danych LPT będzie częstotliwość 250Hz, czy raczej koło 200Hz ??

Chodzi mi o sposób pomiaru czasu w pascalu, bo w basicu trzeba odczytywać zmienną TIMER i synchronizować się do zmiany tej zmiennej żeby dobrze odmierzyć czas

Gość

Postautor: Gość » 30 lip 2003, o 09:05

Hmmm

problemow jest tu kilka ...
1. Jesli bedzie to program uruchamiany pod windows to prawde mowiac czestotliwosc moze byc rozna (w gre wchodzi tu wielozadaniowosc).
2. Jesli bedzie pod dos to musisz uwzglednic (czas wykonywania innych instrukcji).

WIec najprosciej ...
Program pod dos (ale nie odpalany w okienku windowsa tylko pod czystym dos-em) i najlepjej wstawka w ASM. To chyba najlatwiejszy sposob uzyskania dokladnej czestotliwosci.

Natomiast jesli chcesz pod windows to juz sie troche komplikuje ...

Awatar użytkownika
sapero
-
-
Posty: 29
Rejestracja: 5 cze 2003, o 21:35
Lokalizacja: Gliwice
Kontaktowanie:

Postautor: sapero » 4 sie 2003, o 20:47

Dzięki za info, to że pod windowsem ciężko jest precyzyjnie odmierzać czas - sam doświadczyłem, pisząc w Basicu program do write 'x051. Trzebabyło się zsynchronizować do zmiany zmiennej TIMER (1ms) i jak najczęściej odczytywać jej stan żeby wykryć prawidłowo kiedy minął pewien okres czasu.

Ale w pascalu jest gotowa instrukcja WAIT (ms), wiem bo podglądałem jakiś program (też do programowania '51) - a nie posiadam interpretera pascala żeby sprawdzić precyzję tego rozkazu. Gdzieś widziałem namiary na pascala, ale coś było skopane i program nie uruchamiał się

Wróć do „PLD/FPGA i inne zagadnienia techniki cyfrowej”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 87 gości