Delphi-PRAXiS
Seite 3 von 4     123 4      

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)

Logh 18. Apr 2005 19:33

Re: µ Timer
 
Hab erst jetzt die 2. seite gesehen.

mov ecx, $FFFFFFFF

warum $FFFFFFFF, das ist doch zu lange.
Ich hab keine Ahnung von dem Code, den du hingeschreiben hast-d.h. ich weiß nicht wie man mit Delphi asm programmiert und Thread kenne ich auch nicht.
daher die Frage:
Wie lange dauert blaa.

supermuckl 18. Apr 2005 19:39

Re: µ Timer
 
eigentlich sollte dir "thread" geläufig sein, falls du ASM codest

http://de.wikipedia.org/wiki/Thread

mr47 18. Apr 2005 19:40

Re: µ Timer
 
Zitat:

Zitat von Logh
Daher stimmt es nicht wenn man sagt in 1/9600 "s", denn 9600 sind keine Zeit, sondern bits.

Das ist unsinn: 9600 Bits / Sekunde. Also braucht ein BIT 1/9600 SEKUNDE, da ja 9600 in einer Sekunde durchmüssen!! Es ist unsinn zu Sagen 1 bit braucht 1/9600 bits oder? :wall:
9600 sind Bits das ist klar. Aber 1/9600 ist eine Zeit.

Was überigens trotzdem nicht stimmt weil bei 9 Pins werden ja auch mehrere Bits gleichzeitig übertragen.

mfg

supermuckl 18. Apr 2005 19:42

Re: µ Timer
 
Zitat:

weil bei 9 Pins werden ja auch mehrere Bits gleichzeitig übertragen.
die meisten sind 1. nicht belegt und 2. nicht nur für die daten da, sondern für das "protokoll"

mr47 18. Apr 2005 19:45

Re: µ Timer
 
Zitat:

Zitat von supermuckl
Zitat:

weil bei 9 Pins werden ja auch mehrere Bits gleichzeitig übertragen.
die meisten sind 1. nicht belegt und 2. nicht nur für die daten da, sondern für das "protokoll"

heißt das es sind effektiv nur 1 (oder 2) Pins die wirklich Daten übertragen? Das ist ja verschwendung :roll: . Aber nagut, dann erfüllt es den Zweck von Logh ja umso mehr! :thumb: .

mfg

supermuckl 18. Apr 2005 19:51

Re: µ Timer
 
es heist ja nicht umsonst SERIELLE schnittstelle ;)

und weil da halt n ganzes protokoll dahinter steckt, kann man auch nicht sagen, das die bits die übertragen werden, nur daten sind.

da werden CRC checksummen und Stopbits übertragen ...

Sharky 19. Apr 2005 06:29

Re: µ Timer
 
Zitat:

Zitat von mr47
...heißt das es sind effektiv nur 1 (oder 2) Pins die wirklich Daten übertragen? ...

Es ist zwar OT aber ich denke an dieser Stelle sollte die Schnittstelle mal kurz erklärt werden.

Normalerweise sitzt in einem PC eine RS232 (V.24) Schnittstelle. Für die bidirektionale Übertragung sind genau drei Leitungen notwendig. Bei einem 9pol. Sub-D Anschluss sind dies:
Code:
[u]Pin Bezeichnung   Beschreibung[/u]
2    Receive (RxD) Empfangs-Daten
3    Transmit (TxD) Sende-Daten
5    GND           Null-Bezugspunkt
Eine logische '0' wird durch eine Spannung von +12 Volt, eine logische '1' durch -12 V dargestellt
Die Übertragung läuft nun so ab:

Vor jedem Zeichentransfer liegt auf der Übertragungsleitung das Signal auf High-Pegel (H). Soll nun ein Zeichen übertragen werden, so wird dies dem Empfänger vom Sender durch ein Startbit angezeigt, indem für einen Taktzyklus das Signal auf Low (L) gelegt wird. Damit sind Sender und Empfänger für dieses Zeichen synchronisiert. Danach folgen die einzelnen Bits des Zeichens, wahlweise 5 bis 8 Daten, Paritätsbit, sowie 1, 1½ oder 2 Stopbit(s). Anhand der Stopbits erkennt der Empfänger das Ende des Zeichens, damit dient das Stopbit ebenfalls der Zeichensynchronisation.

Um komunizieren zu können müssen beiden Geräte die selbe Einstellung für:
Code:
Anzahl der Datenbits
Art der Parität (Odd, Even)
Anzahl der Stopbits
Da man in der Regel das Startbit, das Paritäts und die Stopbits nicht auswerten kann, diese aber bei der Übertragungsgeschwindigkeit berücksichtigt werden bedeutet dies das in einem Frame zwar 8 Bit ausgewertet werden können aber bis zu 11 gesendet wurden (8 Daten, 1 Start, 2 Stopp).

Wenn die Schnittstelle nun maximal 115200 Bit/s senden/empfangen kann bedeutet dies.

115200 DIV 11 = 10472 Frames (1 Frame zu 8Bit)
10472 Frames * 8 = 83776 Bit (die ausgewertet werden können)

Es zeigt sich also das es nicht möglich ist Bits im µs Takt zu empfangen.

Logh 19. Apr 2005 09:01

Re: µ Timer
 
Zitat:

Das ist unsinn: 9600 Bits / Sekunde. Also braucht ein BIT 1/9600 SEKUNDE, da ja 9600 in einer Sekunde durchmüssen!! Es ist unsinn zu Sagen 1 bit braucht 1/9600 bits oder?
9600 sind Bits das ist klar. Aber 1/9600 ist eine Zeit.

Was überigens trotzdem nicht stimmt weil bei 9 Pins werden ja auch mehrere Bits gleichzeitig übertragen.
Wenn ein Auto für eine Strecke 100 Km 100h braucht, dann braucht er für 1Km/h = 100h/100Km.



Es stimmt, dass man bei 11bits ein solches Ergebnis bekommt aber es geht hier nur darum ein Pin (z.B. RST) auf high zu setzten, da ist es nicht mit Parität und Start/Stopbits.
Und die serielle Schnittstelle ist µ-Fähig.
Erst vor kuzem haben wir mit dem µC Daten an die serielle Schnittstelle geschickt und zwar 1 bit in 52µs, d.h. 19200 Baud, das ganze war mit Parität, Start/Stopbits.

In asm, habe ich nur mit dem Mikrocontroller Erfahrung, daher kenne ich keine Threads.

Logh 19. Apr 2005 09:04

Re: µ Timer
 
Da die Ansichten von einander abweichen, denke ich sollten wir nur eine Lösung für den Timer im µs-Bereich finden und die serielle Schnittstelle mal außer acht lassen.

Phistev 19. Apr 2005 10:15

Re: µ Timer
 
Benutzt der IButton eigentlich die COM-(serielle)Schnittstelle des PCs, oder hat er eine eigene Schnittstelle? Für einen Timer im µs-Bereich dürfte ein PC zu ungenau sein, selbst mit Realtime-Priorität wird's schwer, da man GENAU wissen muss, 1. welcher Takt der Prozessor hat und wie genau der Takt ist, und 2. wie lange (µs / Takte) eine Anweisung dauert. Am besten dürfte für so eine Aufgabe ein Hardware-Interface sein, dass nicht so zeitgenau angesteuert werden muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 Uhr.
Seite 3 von 4     123 4      

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