Opoznienie w delphi



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: <wieczus_at_nospam_go2.pl>
Subject: Opoznienie w delphi
Date: 27 Jun 2002 10:10:01 +0200


Witam
Jak w najprostszy sposob wygenerowac opoznienie (rzad kilkudziesieciu ms).

pzdr Tomek

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Opoznienie w delphi
Date: 27 Jun 2002 10:22:17 +0200


Witam
Jak w najprostszy sposob wygenerowac opoznienie (rzad
kilkudziesieciu ms).

pzdr Tomek
Ja bym użył do tego ATmega128 ze stosowną pętlą czasową.
pzdr
Artur
;-)


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: <wieczus_at_nospam_go2.pl>
Subject: Re: Opoznienie w delphi
Date: 27 Jun 2002 10:32:33 +0200



Ja bym użył do tego ATmega128 ze stosowną pętlą czasową...

Niestety do dyspozycji mam tylko nedznego Athlona :(

Tomek

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Opoznienie w delphi
Date: Thu, 27 Jun 2002 08:31:32 GMT


<wieczus_at_nospam_go2.pl> wygenerował manualnie w wiadomości
<718b.00005d3b.3d1ac858_at_nospam_newsgate.onet.pl> udostępnionej publicznie
dnia 27 Jun 2002 10:10:01 +0200 co następuje:

Witam
Jak w najprostszy sposob wygenerowac opoznienie (rzad kilkudziesieciu ms).

1 W Windowsie zapomnij o powtarzalnych opóźnieniach
2 Standardowy komponent Timer.
--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]

Poprzedni Następny
Wiadomość
Spis treści
From: <wieczus_at_nospam_go2.pl>
Subject: Re: Opoznienie w delphi
Date: 27 Jun 2002 11:09:39 +0200



1 W Windowsie zapomnij o powtarzalnych opóźnieniach
2 Standardowy komponent Timer.

Dzieki, duza powtarzalnosc nie jst wymagana. Chodzi mi o przerwe pomiedzy
wysylanymi bajtami, tak by uC zdazyl policzyc CRC z odebranej ramki. Rozumie ze
zadanie n petli z jakims rozkazem w srodku to zly pomysl...

Tomek


--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Opoznienie w delphi
Date: 27 Jun 2002 11:17:18 +0200


Dzieki, duza powtarzalnosc nie jst wymagana. Chodzi mi o przerwe pomiedzy
wysylanymi bajtami, tak by uC zdazyl policzyc CRC z odebranej
ramki. Rozumie ze
zadanie n petli z jakims rozkazem w srodku to zly pomysl...

Tomek
Nie pamiętam dokładnie, ale pomiędzy paczkami wysyłanymi sychronicznie
nastepuje "samoczynne" wprowadzenie opóźnienia. Dokładniej możesz to sobie
obejrzeć pisząc program z timerkiem i wysyłaniem paczek. Opóźnie to jest
chyba w granicach 2-5ms, a taki czas wystarczy powinien w zupełności
wystarczyć na policzenie CRC.
pzdr
Artur


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "c2h5oh" <crossroads_at_nospam_go2.pl>
Subject: Re: Opoznienie w delphi
Date: Thu, 27 Jun 2002 16:36:18 +0200



<wieczus_at_nospam_go2.pl> wrote in message
news:718b.00005d93.3d1ad652_at_nospam_newsgate.onet.pl...

1 W Windowsie zapomnij o powtarzalnych opóźnieniach
2 Standardowy komponent Timer.

Dzieki, duza powtarzalnosc nie jst wymagana. Chodzi mi o przerwe pomiedzy
wysylanymi bajtami, tak by uC zdazyl policzyc CRC z odebranej ramki.
Rozumie ze
zadanie n petli z jakims rozkazem w srodku to zly pomysl...

Używasz jakiegoś komponentu do obsługi portu szeregowego?
c2h5oh



Poprzedni Następny
Wiadomość
Spis treści
From: <wieczus_at_nospam_go2.pl>
Subject: Re: Opoznienie w delphi
Date: 28 Jun 2002 10:16:35 +0200


Używasz jakiegoś komponentu do obsługi portu szeregowego?

Tak , poszedlem na latwizne ale dziala :)

Tomek


--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Opoznienie w delphi
Date: Thu, 27 Jun 2002 11:24:20 +0200


1 W Windowsie zapomnij o powtarzalnych opóźnieniach

SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);

for (DWORD Takt = GetTickCount()+kilkadziesiat_ms; Takt > GetTickCount(); );

SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_NORMAL);

-)))

2 Standardowy komponent Timer.

Właśnie.
--
PZD, Irek.N.



Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Opoznienie w delphi
Date: Sat, 29 Jun 2002 10:21:49 GMT


On Thu, 27 Jun 2002 11:24:20 +0200, Ireneusz Niemczyk wrote:
1 W Windowsie zapomnij o powtarzalnych opóźnieniach
SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);

for (DWORD Takt = GetTickCount()+kilkadziesiat_ms; Takt > GetTickCount(); );

a) Czy powyzsze przypadkiem nie zablokuje komputra do odmierzenia
czasu ?

b) po nadaniu procesowi realtime priority ... mysz przesuwala
kursor, a i na przychodzace przez siec pakiety reagowal ..

J.


Poprzedni Następny
Wiadomość
Spis treści
From: Milosz Skowyra <miloszek_at_nospam_fido.net.org.pl>
Subject: Re: Opoznienie w delphi
Date: Fri, 28 Jun 2002 20:50:22 +0200


Ireneusz Niemczyk wrote:

SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);

Ja bym jeszcze obsluzyl wyjatki... i je sprawdzil za pomoca getlasterror
czy jakos tak, moze proces wcale nie wlazi w realtime.
--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Dzisiaj slonce nie wzejdzie, bo za zimno.

Poprzedni Następny
Wiadomość
Spis treści
From: "Artur Lew" <nospam_artee_at_nospam_poczta.onet.pl>
Subject: Re: Opoznienie w delphi
Date: Thu, 27 Jun 2002 11:37:28 +0200


1 W Windowsie zapomnij o powtarzalnych opóźnieniach
Nie gadaj koledze glupot...

2 Standardowy komponent Timer.
To jest IMHO najmniej szczesliwy sposob...

Artur Lew




Poprzedni Następny
Wiadomość
Spis treści
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Opoznienie w delphi
Date: Thu, 27 Jun 2002 17:14:50 GMT


Artur Lew wygenerował manualnie w wiadomości
<afemdf$n43$1_at_nospam_news.onet.pl> udostępnionej publicznie dnia Thu, 27 Jun
2002 11:37:28 +0200 co następuje:

1 W Windowsie zapomnij o powtarzalnych opóźnieniach
Nie gadaj koledze glupot...

To podaj coś, co da powtarzalne (w normalnie działającym systemie,
tzn., nie że najpierw wieszamy windę, a potem odpalamy zadanie)
opóźnienia - zasadniczo potrzebuję z dokładnością do 100us.

2 Standardowy komponent Timer.
To jest IMHO najmniej szczesliwy sposob...

To się nazywa konstruktywna krytyka. :-S
Wybacz, ale uważam, że napisanie, że coś jest złe bo złe, to nie jest
argument.
Zapewne rozwiązanie jest do d*, ale jakiegoś lepszego nie
zaproponowałeś...

--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]

Poprzedni Następny
Wiadomość
Spis treści
From: "Artur Lew" <nospam_artee_at_nospam_poczta.onet.pl>
Subject: Re: Opoznienie w delphi
Date: Fri, 28 Jun 2002 09:57:53 +0200


tzn., nie że najpierw wieszamy windę, a potem odpalamy zadanie)
opóźnienia - zasadniczo potrzebuję z dokładnością do 100us.
WaitableTimers: CreateWaitableTimer, SetWaitableTimer
Teoretyczna dokladnosc 0.1 us (za MSDN)

Jezeli zalezy Ci na czasie to pobaw sie priorytetem watku z ktorego
wywolujesz owe funkcje (aczkolwiek nie jest to koniczne).
Jezeli zalezy Ci na stabilnosci i 99% pewnosci zawsze mozesz przeniesc to do
drivera
i korzystac z np. funkcji KeQueryPerformanceCounter (dla NT DDK i dla modelu
WDM)
Trzeba jednak wczesniej sprawdzic jaka jest szybkosc procesora, a to juz
oddzielny watek...

To się nazywa konstruktywna krytyka. :-S
W takim razie prosze:
Komunikat WM_TIMER jest przetwarzany przez standardowa kolejke komunikatow,
wystarczy mala petla while (1) lub przeciaganie okna a aplikacja nie otrzyma
owego
komunikatu...
Dokladnosc czasowa nie jest wiec w tym przypadku gwarantowana...
Lepiej juz uzyc QueryPerformanceCounter...

Artur Lew



Poprzedni Następny
Wiadomość
Spis treści
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Opoznienie w delphi
Date: Fri, 28 Jun 2002 09:57:44 GMT


Artur Lew wygenerował manualnie w wiadomości
<afh4un$8bd$1_at_nospam_news.onet.pl> udostępnionej publicznie dnia Fri, 28 Jun
2002 09:57:53 +0200 co następuje:

tzn., nie że najpierw wieszamy windę, a potem odpalamy zadanie)
opóźnienia - zasadniczo potrzebuję z dokładnością do 100us.
WaitableTimers: CreateWaitableTimer, SetWaitableTimer
Teoretyczna dokladnosc 0.1 us (za MSDN)

Czy na microsoft.com leżą jakieś publicznie dostępne informacje?
(teraz nie mam czasu szukać, ale jak wiesz, ze są, to tylko napisz, że
są, znadę)

Jezeli zalezy Ci na czasie to pobaw sie priorytetem watku z ktorego
wywolujesz owe funkcje (aczkolwiek nie jest to koniczne).
Jezeli zalezy Ci na stabilnosci i 99% pewnosci zawsze mozesz przeniesc to do
drivera
i korzystac z np. funkcji KeQueryPerformanceCounter (dla NT DDK i dla modelu
WDM)
Trzeba jednak wczesniej sprawdzic jaka jest szybkosc procesora, a to juz
oddzielny watek...

No, drivery to trochę za głęboko na mnie...

To się nazywa konstruktywna krytyka. :-S
W takim razie prosze:
Komunikat WM_TIMER jest przetwarzany przez standardowa kolejke komunikatow,
wystarczy mala petla while (1) lub przeciaganie okna a aplikacja nie otrzyma
owego
komunikatu...
Dokladnosc czasowa nie jest wiec w tym przypadku gwarantowana...
Lepiej juz uzyc QueryPerformanceCounter...

Dzięki, tak lepiej - wiadomo, o co chodzi...
--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]

Poprzedni Następny
Wiadomość
Spis treści
From: "Artur Lew" <nospam_artee_at_nospam_poczta.onet.pl>
Subject: Re: Opoznienie w delphi
Date: Fri, 28 Jun 2002 12:16:09 +0200


Czy na microsoft.com leżą jakieś publicznie dostępne informacje?
Tak, ja uzywam wersji offline MSDN-a ale w wersji online na MS
na pewno znajdziesz...

Artur Lew



Poprzedni Następny
Wiadomość
Spis treści
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Opoznienie w delphi
Date: Fri, 28 Jun 2002 16:38:21 GMT


Artur Lew wygenerował manualnie w wiadomości
<afhd20$qt7$1_at_nospam_news.onet.pl> udostępnionej publicznie dnia Fri, 28 Jun
2002 12:16:09 +0200 co następuje:

Czy na microsoft.com leżą jakieś publicznie dostępne informacje?
Tak, ja uzywam wersji offline MSDN-a ale w wersji online na MS
na pewno znajdziesz...

THX
--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]

Poprzedni Następny
Wiadomość
Spis treści
From: <wieczus_at_nospam_go2.pl>
Subject: Re: Opoznienie w delphi
Date: 27 Jun 2002 11:35:58 +0200


Znalazlem :)

Dzieki wszystkim i przepraszam za zamieszanie. Szukalem bledu nie tam gdzie
mialem :( Zapomnialem przelaczac RTS i transceiver pozostawal gluchy. Z CRC
faktycznie sie wyrabia

pzdr Tomek

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Re: Opoznienie w delphi
Date: Thu, 27 Jun 2002 13:05:59 +0200



wieczus_at_nospam_go2.pl wrote:

Jak w najprostszy sposob wygenerowac opoznienie (rzad kilkudziesieciu ms).

Jest funkcja API SleepEx(dwMiliseconds, bAlertable), ktora
opozni Twoj program _co najmniej_ o dwMiliseconds. Nie
wiem, jak to bedzie w Delphi, bo nie uzywam, ale slad juz
masz. Opoznienie to nie bedzie dokladne, bo nie masz
wielkiego wplywu na planiste krotkoterminowego Windows
(innymi slowy: ktory watek z kolejki zadan czekajacych
zostanie wybrany do wykonania).

Pozdrawiam
Piotr Wyderski

PS. Polecam przeniesci sie na pl.comp.programming.




Poprzedni Następny
Wiadomość
Spis treści
From: "ZnakZorro" <szczech_at_nospam_man.szczecin.pl>
Subject: Re: Opoznienie w delphi
Date: Fri, 28 Jun 2002 15:30:32 +0200



Użytkownik <wieczus_at_nospam_go2.pl> napisał w wiadomości
news:718b.00005d3b.3d1ac858_at_nospam_newsgate.onet.pl...
Witam
Jak w najprostszy sposob wygenerowac opoznienie (rzad kilkudziesieciu ms).

pzdr Tomek

DXTimer z DirectX - bardzo dokladny