![]() |
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. |
Re: µ Timer
eigentlich sollte dir "thread" geläufig sein, falls du ASM codest
![]() |
Re: µ Timer
Zitat:
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 |
Re: µ Timer
Zitat:
|
Re: µ Timer
Zitat:
mfg |
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 ... |
Re: µ Timer
Zitat:
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:
Eine logische '0' wird durch eine Spannung von +12 Volt, eine logische '1' durch -12 V dargestellt
[u]Pin Bezeichnung Beschreibung[/u]
2 Receive (RxD) Empfangs-Daten 3 Transmit (TxD) Sende-Daten 5 GND Null-Bezugspunkt 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:
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).
Anzahl der Datenbits
Art der Parität (Odd, Even) Anzahl der Stopbits 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. |
Re: µ Timer
Zitat:
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. |
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.
|
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. |
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