Forum: PC-Programmierung Problem mit serieller Schnittstelle und Win XP


von Andreas Häusler (Gast)


Lesenswert?

Hi

Hallo Leute.
Ihr seit meine letzte Rettung!
Ich arbeite seit langem mit Delphi 7.0 und der Async Professional
Komponente (V 4.06) zum Ansteuern der seriellen Schnittstelle.

Ich kriege einfach keine stabile Verbindung zwischen meiner Steuerung
und PC zustande.

Unter Win2000 und Windows XP Home scheint es jetzt nach mehrmaligen
Software Anpassungen (unter anderem umstellen von IRQ- Betrieb auf
pollen) einigermassen zu funktionieren.

Ich übertrage übrigens mit einem einfachen Protokoll 512KB Daten in
Blöcken a 528Byte. Jeder Block wird dabei quittiert, wenn die
Checksumme stimmt.

Jetzt gibts aber bei Kunden Probleme, welche Windows XP Professional
(SP1) installiert haben.

Ich habe schon alles probiert:
- Verändern der Prozess Priorität meiner Software von niedrig auf hoch

- Starten meiner Software im Kompatibilitätsmodus Windows 98 (dabei hat
sich übrigens die Übertragung verbessert)
- Installieren eines RS232 > USB Adapters

Ab und zu werden 2-10% der Daten übertragen, dann habe ich wieder einen
Abbruch.
Kann es sein, das mir das Hypertreading der neuen Prozessoren einen
Streich spielt und mir den Empfangsbuffer durcheinander bringt?
Die Buffergrösse der Komponente ist auf 4096 Byte eingestellt.

Hat jemand auch schon ähnliche Erfahrungen gemacht?

Ich bin für jeden Tip SEHR dankbar!

Gruss Andy

von Klaus (Gast)


Lesenswert?

Hi Andy,
hast Du mal mit einem zweiten Pc mitgelockt, was über die serielle
Leitung geht ?

Bye
Klaus

von Andreas Häusler (Gast)


Lesenswert?

Hi Klaus

Ja habe ich natürlich als erstes getan, hat mich aber leider auch nicht
weitergebracht.
Ich werde jetzt mal das ganze auf die TComPort Komponente umschreiben
und hoffen damit das Problem gelöst zu haben.

Es würde mich nur interessieren, ob andere auch schon die obengenannten
Beobachtungen gemacht haben.

Gruss Andy

von syd (Gast)


Lesenswert?

Hi,

ge mal unter Systemsteuerung->Gerätemanager-> Eigenschaften des
Adapters und stell den FIFO-Buffer aus!

Nebenbei, diese USB-Adapter sind eh scheisse.

cu

von Klaus (Gast)


Lesenswert?

Hi Andy,
überprüfe bitte den Latency Timer Deiner USB-Schnittstelle.
Setze diesen ggf. herunter.

Mit welcher Baud-Rate arbeites Du ?

Bye Klaus

von Andreas Häusler (Gast)


Lesenswert?

Hallo Leute

Danke für die Tips.
Ich verwende die Schnittstelle mit 9800 und 38400Baud. Dabei wird im
Betrieb zwischen den Baudraten umgeschlatet. (9800Baud = Kommandos /
38400 = Daten)
Die USB Treibereinstellungs- Möglichkeiten für die USB > RS232
Konverter sind zum Teil sehr beschränkt. Da kannst Du gar nicht viel
einstellen. (Ausnahme FTDI-Treiber)

Ich bin zur Zeit in den Ferien und werde die Tips mal ausprobieren,
sobald ich wieder in der Firma bin.

Gruss Andy

von Paul Baumann (Gast)


Lesenswert?

Mir hat bei einem ähnlichen Problem GIVEIO.SYS geholfen.

MfG Paul

von Thomas (Gast)


Lesenswert?

nimm mal den portmon
http://www.sysinternals.com/Utilities/Portmon.html

damit kannst du am gleichen pc mitloggen.
da siehst du, ob deine schnittstelle auch richtig umschaltet, was du
sendest und empfängst

mrg thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.