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
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
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 ...
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 ...
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ę
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ę
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 15 gości