AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fifo von Comports abschalten

Ein Thema von gargano · begonnen am 28. Jan 2011 · letzter Beitrag vom 28. Jan 2011
Antwort Antwort
gargano

Registriert seit: 2. Okt 2006
76 Beiträge
 
Delphi 2007 Enterprise
 
#1

Fifo von Comports abschalten

  Alt 28. Jan 2011, 13:40
Hallo zusammen,

wie kann ich den Fifo eines Comports unter Delphi abschalten ?
Die Bytes sollen einfach nicht so schnell hintereinander rausgeschickt werden.

Viele Grüße

Gargano
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#2

AW: Fifo von Comports abschalten

  Alt 28. Jan 2011, 14:51
Schon mal was von "Handshaking" gehört?
Soft- oder hardware-basiert...

Ausserdem: Im Gerätemanager kann man es auf Eins (1 bis 16) setzen - ist aber nicht sinnvoll!
Der COMPORT-Driver hat ausserdem einen eigenen Puffer.

Geändert von hathor (28. Jan 2011 um 16:42 Uhr)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Fifo von Comports abschalten

  Alt 28. Jan 2011, 15:31
Die Bytes sollen einfach nicht so schnell hintereinander rausgeschickt werden.
dann reduzier doch die Baud-Zahl (bits pro Sekunde)....
  Mit Zitat antworten Zitat
gargano

Registriert seit: 2. Okt 2006
76 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: Fifo von Comports abschalten

  Alt 28. Jan 2011, 17:18
Danke für die Antworten,

das externe Com device hat kein Handshake, also wie soll ich dann das Handshake benutzen ?
Baudrate reduzieren geht auch nicht, da das externe Device eine feste Baudrate hat.

Einzige Möglichkeit wäre die Puffergröße für dan Transmit Fifo zu reduzieren oder ganz abschalten in Delphi

Das war die eigentliche Frage.

Kann jemand dazu eine technisch einwandfreie Antwort geben ?

Gargano
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

AW: Fifo von Comports abschalten

  Alt 28. Jan 2011, 17:27
das externe Com device hat kein Handshake, also wie soll ich dann das Handshake benutzen ?
Baudrate reduzieren geht auch nicht, da das externe Device eine feste Baudrate hat
Das hört sich irgendwie wie eine Fehlkonstruktion an.
(Nachtrag: das Weglassen oder nicht-Benützen von Handshakeleitungen ist grob fahrlässig.
Nur bei geringer Baudrate (<=9600) darf man sich darauf berufen, dass die beteiligten Geräte immer schnell genug sind um die Daten zu verarbeiten.)

Was ist das denn für ein Device?

Wenn das Device Probleme mit dem Empfang von Daten hat, dann solltest du die Anzahl der Stoppbits auf 2 erhöhen.
Andreas

Geändert von shmia (28. Jan 2011 um 17:32 Uhr)
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Fifo von Comports abschalten

  Alt 28. Jan 2011, 17:33
So viel ich weiss kann man das FIFO nicht abschalten!
Du kannst aber das senden beeinflussen. Schicke ein Byte und frage ab ob es angekommen ist, dann das nächste usw. Somit beeinflusst Du auch die Geschwindigkeit!

Gruss alfold
  Mit Zitat antworten Zitat
gargano

Registriert seit: 2. Okt 2006
76 Beiträge
 
Delphi 2007 Enterprise
 
#7

AW: Fifo von Comports abschalten

  Alt 28. Jan 2011, 17:51
Danke an alfold,

wenn ich ein Byte schicke und dann abfrage ob der Txbuffer leer ist, sollte es gehen.

Gute technische Antwort.

Gruß
gargano
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 Uhr.
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