Jak uzyskać opóźnienie 100 ?s w Delphi dla programatora ATMEL w Windows XP?
8051 i Delphi
From: serwisprg_at_nospam_silesianet.pl (Robert D)
Subject: 8051 i Delphi
Date: 9 Apr 2002 19:12:32 +0200
Witajcie,
W akcie desperacji napiszę jeszcze na tę grupę.
Czy nie ma wśród was elekrtonika który zmuszony jest programować w
Delphi ?
Język jest prosty a ja mam problem.
Napisałem program do obsługi programatora procesorów ATMEL (napisałem
to może dużo powiedziane ale włożyłem w to dużo pracy)
Jedynym problemem jest teraz to iż nie wiem jak uzyskać opónienie
programowe (na PC w Delphi) rzędu 100 us.
Wystarczył by mi kawałek kodu. Może ktoś ma jakieś doświadczenia ?
A i jeszcze jedno wszystko było ok w win98 bo ten system nie nadzoruje
tak wszystkiego. Tam programator działa ale pod win 2000 lub XP
niestety.
Pomocy !
--
Pozdrowienia,
Robert mailto : serwisprg_at_nospam_silesianet.pl
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: "bartek" <combosoft_at_nospam_poczta.onet.pl>
Subject: Re: 8051 i Delphi
Date: Tue, 9 Apr 2002 20:21:30 +0200
</ciach>
no moze sa programisci zmuszeni do elektroniki?
nie piszesz nic o magistrali, chodzi Ci jak przypuszczam o lpt?
bartek
From: "bartek" <combosoft_at_nospam_poczta.onet.pl>
Subject: Re: 8051 i Delphi
Date: Tue, 9 Apr 2002 20:27:05 +0200
Użytkownik "bartek" <combosoft_at_nospam_poczta.onet.pl> napisał w wiadomości
news:a8vba3$1bb$1_at_nospam_news.onet.pl...
</ciach>
no moze sa programisci zmuszeni do elektroniki?
nie piszesz nic o magistrali, chodzi Ci jak przypuszczam o lpt?
bartek
jesli chodzi ci o windows NT (pochodne) i lpt to jak obslugujesz lpt?
zmieniasz bibloteke
obslugi? A jak robisz przerwe dla win98, ze spelnia twoje oczekiwania?
From: serwisprg_at_nospam_silesianet.pl (Robert D)
Subject: Re[2]: 8051 i Delphi
Date: 9 Apr 2002 20:52:45 +0200
Witaj bartek,
W Twoim liście datowanym 9 kwietnia 2002 (20:27:05) można przeczytać:
b> jesli chodzi ci o windows NT (pochodne) i lpt to jak obslugujesz lpt?
b> zmieniasz bibloteke
b> obslugi? A jak robisz przerwe dla win98, ze spelnia twoje oczekiwania?
czytaj wyżej napisałem że problem nie jest w obsłudze LPT
--
Pozdrowienia,
Robert mailto : serwisprg_at_nospam_silesianet.pl
Gdy piszesz na priva usuń duże litery z adresu ;-)
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: "bartek" <combosoft_at_nospam_poczta.onet.pl>
Subject: Re: Re[2]: 8051 i Delphi
Date: Tue, 9 Apr 2002 22:12:14 +0200
Użytkownik "Robert D" <serwisprg_at_nospam_silesianet.pl> napisał w wiadomości
news:32883700.20020409205147_at_nospam_silesianet.pl...
Witaj bartek,
W Twoim liście datowanym 9 kwietnia 2002 (20:27:05) można przeczytać:
b> jesli chodzi ci o windows NT (pochodne) i lpt to jak obslugujesz lpt?
b> zmieniasz bibloteke
b> obslugi? A jak robisz przerwe dla win98, ze spelnia twoje oczekiwania?
czytaj wyżej napisałem że problem nie jest w obsłudze LPT
</ciach>
faktycznie, pytam o lpt, bo sam musze zrealizowac podobne zadanie i zabieram
sie do tego jak pies do jeza...
oto fragment kodu, ktory byc moze cie zainteresuje
Delphi:
var
teraz:TDateTime
Teraz:=Now; repeat
Application.ProcessMessages;
until Teraz+1/SecsPerDay<Now;
za 1 musisz wpisac 0.00001, czy ile tam potrzebujesz tych zer... to w
sekundach jak mnie pamiec nie myli...
problem jest w tym ze moze to sie okazac malo dokladne...
trzeba zwiekszyc priorytet aplikacji do maksymalnego, jaki sie da... ale
proces drukowania i tak
jest wyzszy (w zasadzie sa takie same, ale praktyka dowodzi, ze wyzszy ! ach
ten M$..)
najwyzszy priorytet:
constructor TUnPackThread.Create;
begin
UnpEnd:=False;
TerminateUnp:=False;
Priority:=tpHighest;
FreeOnTerminate:=True;
inherited Create(False);
end;
procedure TUnPackThread.Execute;
begin
I jak mnie pamiec nie myli to tu trza by obslugiwac komunikacje...
end;
PS. pisze troche z glowy wiec moze nie dzialac za pierwszym razem... jakby
co to na priv zapraszam....
pozdrawiam
bartek
From: serwisprg_at_nospam_silesianet.pl (Robert D)
Subject: Re[4]: 8051 i Delphi
Date: 9 Apr 2002 22:26:14 +0200
Witaj bartek,
W Twoim liście datowanym 9 kwietnia 2002 (22:12:14) można przeczytać:
b> faktycznie, pytam o lpt, bo sam musze zrealizowac podobne zadanie i zabieram
b> sie do tego jak pies do jeza...
Widzę że może pomożesz to napiszę na priva ;-)
--
Pozdrowienia,
Robert mailto : serwisprg_at_nospam_silesianet.pl
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: serwisprg_at_nospam_silesianet.pl (Robert D)
Subject: Re[2]: 8051 i Delphi
Date: 9 Apr 2002 20:51:25 +0200
Witaj bartek,
W Twoim liście datowanym 9 kwietnia 2002 (20:21:30) można przeczytać:
b> </ciach>
b> no moze sa programisci zmuszeni do elektroniki?
b> nie piszesz nic o magistrali, chodzi Ci jak przypuszczam o lpt?
Problem nie leży w magistrali/portcie (rzeczywiście lpt) i współpracy
z NT ale w programowym napisaniem pętli.
100 us to bardzo mało
--
Pozdrowienia,
Robert mailto : serwisprg_at_nospam_silesianet.pl
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: "przemek zyla" <belmotybe_at_nospam_poczta.onet.pl>
Subject: Re: 8051 i Delphi
Date: Tue, 9 Apr 2002 20:26:46 +0200
Jedynym problemem jest teraz to iż nie wiem jak uzyskać opónienie
programowe (na PC w Delphi) rzędu 100 us.
Wystarczył by mi kawałek kodu. Może ktoś ma jakieś doświadczenia ?
jest taki komponent: timer czy cos takiego i zobacz czy sie tym nie da...
jesli nie to zawsze mozesz sprobowac z jakas duza petla:)) ale musi
byc bardzo duza:)))))))
zartuje...
sa do tego komponenty...
tak samo jak do komunikacji pod 2000 i XP...
poszukaj na www.delphi.icm.edu.pl
From: "Mariusz Łacina" <el-projekt_at_nospam_wp.pl>
Subject: Re: 8051 i Delphi
Date: Tue, 9 Apr 2002 20:42:07 +0200
poszukaj na delphi.icm.edu.pl bez przedrostka www.
Mariusz Łacina.
Użytkownik "przemek zyla" <belmotybe_at_nospam_poczta.onet.pl> napisał w wiadomości
news:a8vbp7$2aa$1_at_nospam_news.onet.pl...
Jedynym problemem jest teraz to iż nie wiem jak uzyskać opónienie
programowe (na PC w Delphi) rzędu 100 us.
Wystarczył by mi kawałek kodu. Może ktoś ma jakieś doświadczenia ?
jest taki komponent: timer czy cos takiego i zobacz czy sie tym nie da...
jesli nie to zawsze mozesz sprobowac z jakas duza petla:)) ale musi
byc bardzo duza:)))))))
zartuje...
sa do tego komponenty...
tak samo jak do komunikacji pod 2000 i XP...
poszukaj na www.delphi.icm.edu.pl
From: serwisprg_at_nospam_silesianet.pl (Robert D)
Subject: Re[2]: 8051 i Delphi
Date: 9 Apr 2002 20:51:15 +0200
Witaj przemek,
W Twoim liście datowanym 9 kwietnia 2002 (20:26:46) można przeczytać:
Jedynym problemem jest teraz to iż nie wiem jak uzyskać opónienie
programowe (na PC w Delphi) rzędu 100 us.
pz> jest taki komponent: timer czy cos takiego i zobacz czy sie tym nie da...
min 1 ms ;-(
pz> jesli nie to zawsze mozesz sprobowac z jakas duza petla:)) ale musi
odpada bo przy zianie komputera pętla będzie wykonywana
szybciej/wolniej i co wtedy ?
pz> sa do tego komponenty...
rzecz w tym że komponentu umożliwiajšcego tworzenie tak krótkich pętli
nie znalazłem
pz> poszukaj na www.delphi.icm.edu.pl
poszukam jeszcze
--
Pozdrowienia,
Robert mailto : serwisprg_at_nospam_silesianet.pl
Gdy piszesz na priva usuń duże litery z adresu ;-)
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: "ErrOR" <error_at_nospam_2com.pl>
Subject: Re: 8051 i Delphi
Date: Tue, 9 Apr 2002 20:35:54 +0200
Czesc
Zobacz w news :
pl.comp.lang.delphi
Tam sa osoby ktore Moga tobie pomoc.
A zwykle opoznienie to robisz poleceniem :
- sleep(wartosc); //blokuje caly program na czas podanuy w nawiasie.
- albo timerem z zakladki system.
Pozdrawiam
ErrOR
From: serwisprg_at_nospam_silesianet.pl (Robert D)
Subject: Re[2]: 8051 i Delphi
Date: 9 Apr 2002 20:51:35 +0200
Witaj ErrOR,
W Twoim liście datowanym 9 kwietnia 2002 (20:35:54) można przeczytać:
E> A zwykle opoznienie to robisz poleceniem :
E> - sleep(wartosc); //blokuje caly program na czas podanuy w nawiasie.
taaaaaaaaa... gdzie wartość jest w ms a nie w us
--
Pozdrowienia,
Robert mailto : serwisprg_at_nospam_silesianet.pl
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Marek Lewandowski <REMOVE_locust_REMOVE_at_nospam_poczta.onet.pl>
Subject: Re: 8051 i Delphi
Date: Tue, 09 Apr 2002 18:23:20 GMT
Robert D wygenerował manualnie w wiadomości
<305217111.20020409191021_at_nospam_silesianet.pl> udostępnionej publicznie dnia
9 Apr 2002 19:12:32 +0200 co następuje:
Witajcie,
[...]
Jedynym problemem jest teraz to iż nie wiem jak uzyskać opónienie
programowe (na PC w Delphi) rzędu 100 us.
W systemie z multitaskingiem ty myślisz, że zrobisz cokolwiek
time-dependant??????????????
Wlezie Ci jakiś wštek z wyższym priorytetem, wytnie ci CPU na chwilę i
zamiast 100us masz 10ms nawet o tym nie wiedzšc...!
Zapomnij.
--
Marek Lewandowski ICQ# 10139051
REMOVElocustREMOVE_at_nospam_poczta.onet.pl
http://locust.republika.pl
UWAGA! w emailu wycinać REMOVE z adresu!
From: serwisprg_at_nospam_silesianet.pl (Robert D)
Subject: Re[2]: 8051 i Delphi
Date: 9 Apr 2002 21:04:03 +0200
Witaj Marek,
W Twoim liście datowanym 9 kwietnia 2002 (20:23:20) można przeczytać:
ML> W systemie z multitaskingiem ty myślisz, że zrobisz cokolwiek
ML> time-dependant??????????????
może się mylę ale sš przecież wštki TimeCritical
tak działała poprzednia procedurka która pod NT ruszyć nie chce
--
Pozdrowienia,
Robert mailto : serwisprg_at_nospam_silesianet.pl
Gdy piszesz na priva usuń duże litery z adresu ;-)
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: 8051 i Delphi
Date: Tue, 09 Apr 2002 21:31:53 +0200
Malutko chcesz....gotowych komponentów chyba nie znajdziesz. :-(
Jedyne co przychodzi mi do głowy to:
- wywłaszczyć system,
- odpalić np: timer z parametrem 100ms (nie żartuje),
- poczekać aż timer dojdzie liczšc w tle jakšś zmiennš (np: licznik++
;),
- po dojściu timera przeliczyć szybkość zmian zmiennej na czas.
- zaprzestać wywłaszczania systemy (inaczej...wiesz ;-)).
Taka dokłšdność pewnie Ci wystarczy.
Tak wypadało by zrobić na starcie aplikacji - dalej posługiwać się tylko
przelicznikiem ;-)
--
PZD, Irek.N.
ps. pytanie jak skutecznie wywłaszczyć system? ;-)))
From: Marek Lewandowski <REMOVE_locust_REMOVE_at_nospam_poczta.onet.pl>
Subject: Re: 8051 i Delphi
Date: Tue, 09 Apr 2002 21:44:49 GMT
Ireneusz Niemczyk wygenerował manualnie w wiadomości
<3CB341A9.3E6B340C_at_nospam_multispedytor.com.pl> udostępnionej publicznie dnia
Tue, 09 Apr 2002 21:31:53 +0200 co następuje:
ps. pytanie jak skutecznie wywłaszczyć system? ;-)))
format c: /u /q /v:none
;-)
--
Marek Lewandowski ICQ# 10139051
REMOVElocustREMOVE_at_nospam_poczta.onet.pl
http://locust.republika.pl
UWAGA! w emailu wycinać REMOVE z adresu!
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: 8051 i Delphi
Date: Wed, 10 Apr 2002 08:53:20 +0200
format c: /u /q /v:none
;-)
Słabo....dalej będš tykać, choć na ekranie faktycznie się uspokoi ;-)
--
PZD, Irek.N.
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: 8051 i Delphi
Date: Wed, 10 Apr 2002 00:34:24 GMT
On Tue, 09 Apr 2002 21:31:53 +0200, Ireneusz Niemczyk wrote:
Jedyne co przychodzi mi do głowy to:
- wywłaszczyć system,
- odpalić np: timer z parametrem 100ms (nie żartuje),
- poczekać aż timer dojdzie liczšc w tle jakšś zmiennš (np: licznik++
- po dojściu timera przeliczyć szybkość zmian zmiennej na czas.
- zaprzestać wywłaszczania systemy (inaczej...wiesz ;-)).
Taka dokłšdność pewnie Ci wystarczy.
Tak wypadało by zrobić na starcie aplikacji - dalej posługiwać się tylko
przelicznikiem ;-)
Taaa ... Borland sie juz na to nadzial pare razy.
Liczysz ile wynosi przelicznik na XT ... a potem na P60 licznik
sie trzy razy przekreca zanim timer zmieni.
A wersja poprawiona ... przy P233 konczy sie "Divide by zero"
przy starcie programu :-)
J.
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: 8051 i Delphi
Date: Wed, 10 Apr 2002 08:52:26 +0200
Taaa ... Borland sie juz na to nadzial pare razy.
Liczysz ile wynosi przelicznik na XT ... a potem na P60 licznik
sie trzy razy przekreca zanim timer zmieni.
A wersja poprawiona ... przy P233 konczy sie "Divide by zero"
przy starcie programu :-)
Dramatyzujesz ;-)) To że Borland tego nie przewidział i nie zabezpieczył się
Poza tym tak ślicznie sie przechwytuje wyjštki....;-))))
--
PZD, Irek.N.
From: "Grzegorz Kurczyk" <grzegorz_at_nospam_control.slupsk.pl>
Subject: Re: 8051 i Delphi
Date: Wed, 10 Apr 2002 17:45:33 +0200
Użytkownik Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl> w wiadomości
do grup dyskusyjnych napisał:3CB341A9.3E6B340C_at_nospam_multispedytor.com.pl...
Malutko chcesz....gotowych komponentów chyba nie znajdziesz. :-(
Witam
Na systemy Win9x realizowałem takie krótkie opónienia w Delphi za pomocš
kawałka kodu w assemblerze, który kożysta z układu 8254 znajdujacego się na
płycie głównej (lub jego odpowiednika "zaszytego" w chipsecie). Układ ten ma
trzy liczniki 16-sto bitowe zliczajšce wstecz. Pierwszy generuje cykl
odświeżania pamieci RAM i lepiej go nie ruszać :-) Drugi taktuje zegar
systemowy (mozna na nim podziałać, ale powoduje to rozsynchronizowanie
zegara). Trzeci steruje głośniczkiem i tego można przeprogramowywać "skolko
godno". Liczniki sš taktowane częstotliwościš ok 1,19MHz (o ile mnie pamięć
nie myli - nie mam pod rekš notatek). Licznik można ustawić na zliczanie
określonej ilości impulsów i programowo testować stan jego wyjścia.
Rozwišzanie to stosowałem do swoich programatorów AT89S2051, AT90S8535 i
programatorka EPROMów.
--
Pozdrawiam
Grzegorz
http://www.control.slupsk.pl
ftp://ftp.control.slupsk.pl
grzegorz_at_nospam_control.slupsk.pl
Gadu-Gadu: 1445218
From: Milosz Skowyra <miloszek.SPAM_REMOVE_at_nospam_fidonet.org.pl>
Subject: Re: 8051 i Delphi
Date: Wed, 10 Apr 2002 19:50:10 +0200
Grzegorz Kurczyk wrote:
Na systemy Win9x realizowałem takie krótkie opónienia w Delphi za pomocš
kawałka kodu w assemblerze, który kożysta z układu 8254 znajdujacego się na
[..]
Rozwišzanie to stosowałem do swoich programatorów AT89S2051, AT90S8535 i
programatorka EPROMów.
No to odpal mi to pod NT-kiem.
--
Regards. Przy odpowiedzi usun "SPAM_REMOVE" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
..and when you turned to me and smiled.....it took my breath away...
From: "Grzegorz Kurczyk" <grzegorz_at_nospam_control.slupsk.pl>
Subject: Re: 8051 i Delphi
Date: Wed, 10 Apr 2002 23:11:52 +0200
Użytkownik "Milosz Skowyra" <miloszek.SPAM_REMOVE_at_nospam_fidonet.org.pl> napisał w
wiadomości news:3CB47B52.1FF1E202_at_nospam_fidonet.org.pl...
Grzegorz Kurczyk wrote:
No to odpal mi to pod NT-kiem.
Toż napisałem cyt: "Na systemy Win9x realizowałem ..."
Pod NT-kiem rozwišzania tego typu oczywiście nie przejdš.
Pozostajš rozwišzania sprzętowe ...
--
Pozdrawiam
Grzegorz
http://www.control.slupsk.pl
ftp://ftp.control.slupsk.pl
grzegorz_at_nospam_control.slupsk.pl
Gadu-Gadu: 1445218
From: Milosz Skowyra <miloszek.SPAM_REMOVE_at_nospam_fidonet.org.pl>
Subject: Re: 8051 i Delphi
Date: Thu, 11 Apr 2002 09:46:23 +0200
Grzegorz Kurczyk wrote:
No to odpal mi to pod NT-kiem.
Toż napisałem cyt: "Na systemy Win9x realizowałem ..."
Pod NT-kiem rozwišzania tego typu oczywiście nie przejdš.
No to jak dla mnie to troche bez sensu, piszesz program ktory dziala
tylko w .....
Jak juz cos pisac to solidnie i do konca.
Pozostajš rozwišzania sprzętowe ...
Da sie to w Delphi zrobic bez zadnych sprzetowych patentow, mozna to
zrobic programowo.
Polecam Delphi FAQ i CzaPy do znalezienia w internecie.
Tak samo mozesz zapytac na pl.comp.lang.delphi.
Proste rozwiazanie to liczenie tick-ow systemowych i tyle.
--
Regards. Przy odpowiedzi usun "SPAM_REMOVE" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Zostalismy sami, niecierpliwi mysliwi...
From: "Grzegorz Kurczyk" <grzegorz_at_nospam_control.slupsk.pl>
Subject: Re: 8051 i Delphi
Date: Sun, 14 Apr 2002 12:50:07 +0200
Użytkownik "Milosz Skowyra" <miloszek.SPAM_REMOVE_at_nospam_fidonet.org.pl> napisał w
wiadomości news:3CB53F4F.B8A2A1A2_at_nospam_fidonet.org.pl...
Grzegorz Kurczyk wrote:
Da sie to w Delphi zrobic bez zadnych sprzetowych patentow, mozna to
zrobic programowo.
Polecam Delphi FAQ i CzaPy do znalezienia w internecie.
Tak samo mozesz zapytac na pl.comp.lang.delphi.
Proste rozwiazanie to liczenie tick-ow systemowych i tyle.
Ale to tozwišzanie ma pewne wady. Opisał je Kolega Adam Dybkowski.
Opónienie liczone tš metodš może wyjść dużo, dużo większe od zamierzonego.
W przypadku programowania np. AVR-ów przez ISP nie ma to większego
znaczenia, ale przy generowaniu impulsu programujšcego dla EPROM-u może się
to dla scalaka le skończyć.
A przypadki działania pewnych programów pod Win9x i niedziałania pod
NT/2000/XP wcale nie należš do rzadkości.
--
Pozdrawiam
Grzegorz
http://www.control.slupsk.pl
ftp://ftp.control.slupsk.pl
grzegorz_at_nospam_control.slupsk.pl
Gadu-Gadu: 1445218
From: serwisprg_at_nospam_silesianet.pl (Robert D)
Subject: Re[2]: 8051 i Delphi
Date: 11 Apr 2002 06:29:42 +0200
Witaj Grzegorz,
W Twoim liście datowanym 10 kwietnia 2002 (17:45:33) można przeczytać:
GK> Na systemy Win9x realizowałem takie krótkie opónienia w Delphi za pomocš
No właśnie wszytko rozbija się o to że chodzi o NT a nie 98
--
Pozdrowienia,
Robert mailto : serwisprg_at_nospam_silesianet.pl
Gdy piszesz na priva usuń duże litery z adresu ;-)
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Milosz Skowyra <miloszek.SPAM_REMOVE_at_nospam_fidonet.org.pl>
Subject: Re: 8051 i Delphi
Date: Wed, 10 Apr 2002 11:16:20 +0200
Robert D wrote:
Wystarczył by mi kawałek kodu. Może ktoś ma jakieś doświadczenia ?
Funkcja Api: GetSystemTickCount i tyle.
--
Regards. Przy odpowiedzi usun "SPAM_REMOVE" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Zostalismy sami, niecierpliwi mysliwi...
From: "Zbyszek T" <turex_at_nospam_go2.pl>
Subject: Re: 8051 i Delphi
Date: Thu, 11 Apr 2002 02:14:00 +0200
Jeśli nikt nie da sensownego rozwišzania pisz do mnie na priv, a ja coś
poradzę - bardzo dokładny pomiar czasu.
Zbyszek
Użytkownik "Robert D" <serwisprg_at_nospam_silesianet.pl> napisał w wiadomości
news:305217111.20020409191021_at_nospam_silesianet.pl...
Witajcie,
W akcie desperacji napiszę jeszcze na tę grupę.
Czy nie ma wśród was elekrtonika który zmuszony jest programować w
Delphi ?
Język jest prosty a ja mam problem.
Napisałem program do obsługi programatora procesorów ATMEL (napisałem
to może dużo powiedziane ale włożyłem w to dużo pracy)
Jedynym problemem jest teraz to iż nie wiem jak uzyskać opónienie
programowe (na PC w Delphi) rzędu 100 us.
Wystarczył by mi kawałek kodu. Może ktoś ma jakieś doświadczenia ?
A i jeszcze jedno wszystko było ok w win98 bo ten system nie nadzoruje
tak wszystkiego. Tam programator działa ale pod win 2000 lub XP
niestety.
Pomocy !
--
> Pozdrowienia,
> Robert mailto : serwisprg_at_nospam_silesianet.pl
>
> --
> Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
>
From: Adam Dybkowski <adybkows_at_nospam_amwaw.edu.pl>
Subject: Re: 8051 i Delphi
Date: Thu, 11 Apr 2002 23:35:09 +0200
Robert D wrote:
Jedynym problemem jest teraz to iż nie wiem jak uzyskać opónienie
programowe (na PC w Delphi) rzędu 100 us.
Wystarczył by mi kawałek kodu. Może ktoś ma jakieś doświadczenia ?
Rozwiazanie uniwersalne, niezalezne od Delphi czy C.
Musisz uzyc funkcje Windows API takie jak QueryPerformanceCounter i
QueryPerformanceFrequency (AFAIR). Poczytaj w helphie. Ja na ich
podstawie oparlem opoznienia w programatorze ISP'owym dla procesorow AVR.
Ale pamietaj: Windows nie jest systemem czasu rzeczywistego. Opoznienia
wyjda ci nie mniejsze niz te 100 us jak chcesz, ale spokojnie moga wyjsc
duzo wieksze (np. po wystapieniu przerwania od kontrolera dysku twardego
czy ze 100 innych powodow znanych tylko Microsoftowi). Zwykle nie
stanowi to problemu.
Jak chcesz generowac opoznienia 100 us z okreslona dokladnoscia (np.
10%) to raczej zapomnij o Windows. Do takich zadan stworzono VxWorks,
ew. QNX'a. O "golym" DOSie tez nie mozna zapomniec.
--
Adam Dybkowski
adybkows_at_nospam_amwaw.edu.pl
http://www.amwaw.edu.pl/~adybkows
From: nosty <nosty_at_nospam_alpha.net.pl>
Subject: Re: 8051 i Delphi
Date: Sun, 14 Apr 2002 07:28:20 +0200
On 9 Apr 2002 19:12:32 +0200, serwisprg_at_nospam_silesianet.pl (Robert D)
wrote:
Witajcie,
W akcie desperacji napiszÄ jeszcze na tÄ grupÄ.
Czy nie ma wÂśrĂłd was elekrtonika ktĂłry zmuszony jest programowaÄ w
Delphi ?
To ja :)
JÄzyk jest prosty a ja mam problem.
NapisaĹem program do obsĹugi programatora procesorĂłw ATMEL (napisaĹem
to moĹe duĹo powiedziane ale wĹoĹyĹem w to duĹo pracy)
Jedynym problemem jest teraz to iĹ nie wiem jak uzyskaÄ opóĽnienie
programowe (na PC w Delphi) rzÄdu 100 us.
WystarczyĹ by mi kawaĹek kodu. MoĹe ktoÂś ma jakieÂś doÂświadczenia ?
Doswiadczenia mam z programowania portu RS na rozne sposoby. Poce sie
z tym do dzisiaj w niektorych przypadkach (ostatnio np procedura
WinAPI wykrywania istniejacych w systemie portow szeregowych dzialala
na trzy rozne sposoby pod 98,NT i 2000 :)
Z moich doswiadczen wynika:
a) tego co chcesz zrobic nie da sie zrobic pod czystym Delphi (choc
podobno nie ma rzeczy nie do zrobienia :)
b) nawet jak to zrobisz korzystajac z WinAPI albo asemblera to masz
przechlapane z uwagi na Winde.
Pytanie ktore zadaje mi szef co 3 dzien: jak zmusic Win98 do oddania
calego czasu procesora jednej aplikacji?
Belkot z mojej strony ze to nie tak..., ze ten system mam inna
filozofie... kwitowany jest stalym stwierdzeniem: "to system do zabawy
a nie do pracy".
Efekt jest taki ze wszystkie programatory i emulatory mikrosterownikow
w firmie chodza pod DOSem albo Win3.11, ktory to ststem jest jedynym
uzywanym i szanowanym systemem mojego szefa :)
pozdrawiam
--
nosty