Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi µ Timer (https://www.delphipraxis.net/44316-%B5-timer.html)

glkgereon 18. Apr 2005 14:34

Re: µ Timer
 
genau das mein ich.

es stimmt nicht das man bei einer angabe 9600b/sek ein bit in 1/9600s übertragen kann sondern lediglich 16/16*9600s.
macht rechnerich keinen unterschied, doch für den takt sehr wohl...

mr47 18. Apr 2005 14:48

Re: µ Timer
 
Bei 832µs sind wir dann schon fast wieder bei 1ms. Und dann bringst ja nicht mehr :gruebel: .

freak4fun 18. Apr 2005 14:50

Re: µ Timer
 
Ich dachte immer die 16 Bit werden gleichzeitig gesendet. :gruebel:

MfG
freak

glkgereon 18. Apr 2005 14:51

Re: µ Timer
 
ja eben!

darum gehts ja...der takt is dann nämlich langsamer als wenn er sie einzeln senden würde

mr47 18. Apr 2005 14:56

Re: µ Timer
 
Zitat:

Zitat von freak4fun
Ich dachte immer die 16 Bit werden gleichzeitig gesendet. :gruebel:

MfG
freak

Jemand isst 16 Gummibärchen PRO Sekunde. Wenn er 16 auf einmal in den Mund stopft hat er dafür 1 Sekunde Zeit. Er isst also nicht EINS in 1/16 (einer Sechzentel) Sekunde sondern 16 in einer ganzen Sekunde. Also ist der intervall nicht 1/16s sondern 1 Sekunde. That's the prob :-|

mfg

freak4fun 18. Apr 2005 14:59

Re: µ Timer
 
Das sehe ich nicht ein! Schickst du mir bitte genügend Gummibärchen zum Testen? :mrgreen:

Ne, Spaß bei Seite, ich habs verstanden, danke. :zwinker:

MfG
freak

glkgereon 18. Apr 2005 15:00

Re: µ Timer
 
[ot] blödes beispiel! ich hab hunger :( [/ot]

aber ganz abgesehen davon: kann man mit windows auf ne ms genau takten?

mr47 18. Apr 2005 17:06

Re: µ Timer
 
Zitat:

Zitat von glkgereon
[ot] blödes beispiel! ich hab hunger :( [/ot]

aber ganz abgesehen davon: kann man mit windows auf ne ms genau takten?

1ms: jain. Also der TTimer kann schon einen Intervall von 1ms. Aber wenn's mal "Stau" im System gibt wird der glaub schnell ungenau. Und das wäre relativ unpraktisch. Ausserdem braucht er ja 1 Mikrosekunde und das ist 1/1000-stel von 1 ms. :?

mfg

brechi 18. Apr 2005 17:33

Re: µ Timer
 
wenn man wirklich machen will das kein thread etwas anderes machen kann (funktioniert nur mit einem prozessor)

Delphi-Quellcode:
procedure blaa;
asm
// (no other thread can do something, doesnt work in IDE)
// example, do not call sleep
  mov ecx, $FFFFFFFF
@@weiter:
  dec ecx
  test ecx, ecx
  jnz @@weiter
end;

procedure TForm1.FormCreate(Sender: TObject);
var tid: cardinal;
begin
  tid := CreateThread(nil,0,@blaa,nil,CREATE_SUSPENDED,tid);
  SetThreadPriority(tid,THREAD_PRIORITY_TIME_CRITICAL);
  SetPriorityClass(GetCurrentProcess,REALTIME_PRIORITY_CLASS);
  ResumeThread(tid);
  SetPriorityClass(GetCurrentProcess,NORMAL_PRIORITY_CLASS);
end;
mit __ asm { rdtsc } könnte man noch die tickcounts lesen und wirklich auf 1msek genau prüfen
obs aber sinnvoll is das so zu machen ist ne andere frage

Logh 18. Apr 2005 19:23

Re: µ Timer
 
Zitat:

es stimmt nicht das man bei einer angabe 9600b/sek ein bit in 1/9600s übertragen kann sondern lediglich 16/16*9600s.
macht rechnerich keinen unterschied, doch für den takt sehr wohl...
9600 bits pro sekunde heißt, dass in 1 sek. 9600 bits übertragen werden.
Das bedeutet ein bit braucht 1/9600, um übertragen zu werden.
Daher stimmt es nicht wenn man sagt in 1/9600 "s", denn 9600 sind keine Zeit, sondern bits.

Da die serielle Schnittstelle nur 9 pins hat können gar nicht 16 bit auf einmal gesendet werden. Das könnte aller höchstens bei der parallelen Schnittstelle gehen.

Ich habe mal bei meinem Rechner nachgeschaut-115200 bit/s schafft die serielle Schnittstelle, also 8,685...µs pro bit-das geht.

Eine wichtige Sache ist, das, wie schon erwähnt, die Software, also die Befehle zu lange brauchen um ein Ereignis auszulösen.
Daher die Frage:
kann man in Delphi Assembler programmieren?
Wenn ja, werden die Assembler Anweisungen sofort an die CPU geschickt oder gibt es da auch eine "Bremse".

Schade das es keinen µTimer gibt!

Noch ne Frage was ist dieses "Tick"?-kenn ich nicht.
Wie lange dauert dieses "Tick"?

Weiterhin danke für alle Antworten, sie sind alle willkommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz