Forum: Mikrocontroller und Digitale Elektronik Virtueller Com Port verschluckt manchmal Zeichen


von Johannes (Gast)


Lesenswert?

Hallo,

ich habe einen AT91SAM7S und verbinde per USB-Virtueller Com Port mit 
einem PC. Dort werden dann die Daten einer SD-Card ausgelesen. Die Daten 
auf der SD-Card werden immer mal wieder verschluckt. D.h. sie sind auf 
der SD-Card nicht aber auf dem PC.

Da es auch immer wieder unterschiedliche Stellen sind, wo die Fehler 
auftreten sieht es für mich so aus, als ob der PC einfach nicht schnell 
genug wäre.

Kennt jemand das Problem und wenn ja, wie lässt es sich lösen?

Schönen Gruß,
Johannes

von M. P. (phpmysqlfreak)


Lesenswert?

Welche Baud-Rate verwendest du bei dem Virtuellen Com-Port?

von Johannes (Gast)


Lesenswert?

Da stehen 9600 drinnen.
Macht das einen Unterschied? Ich dachte immer, dass es egal wäre, da es 
ja "virtuell" ist. Zumindest hatte mir das einer mal gesagt.

von Potter (Gast)


Lesenswert?

Bei einem virtuellen COM-Port werden die Daten so schnell wie möglich 
versandt. Es macht aus Sicht des USB keinen Sinn den Datenstrom auf 
irgendeine Baudrate zu drosseln.

Wie nimmst Du die Daten am PC in Empfang? Verwendest du eigene Treiber 
oder ein gängiges Terminal-Programm? Wieviele kByte/s werden denn 
überhaupt übertragen? Werden Deine Daten vom AT91 versandt? Was sagt 
Dein Busanalysator dazu?

Die Übertragung drosseln kannst Du, indem Du einfach eine Warteschleife 
in Deine Firmware einbaust - was ich aber nur zum Testen machen würde.



Gruß Potter

von dumdidumm (Gast)


Lesenswert?

... und bevor das große Rätselraten losgeht: am AT91SAM7S ein 
Baudratenquarz oder einen Standardwert ?

von Draco (Gast)


Lesenswert?

Hatte ein ähnliches Problem schon bei einem Adapter mit Prolific Chip. 
Ein Treiberupdate hat es behoben.

von Johannes (Gast)


Lesenswert?

So, hier ein paar neue Infos:
Die 9600 sind einfach Windows-Standardwerte. Ist also irrelevant, da ja 
wie Potter geschrieben hat der virtuelle Port in der Hinsicht so schnell 
wie nur möglich ist.

Am PC:
Dort habe ich einmal ein Terminalprogramm verwendet: Es werden KEINE 
Daten verschluckt.
Dann habe ich eine Qt-Gui (das ist das Programm, das die Daten 
interprieren soll) verwendet: Dort werden die Daten verschluckt. Demnach 
liegt es wohl an der Software am PC, oder?
Kennt sich da jemand aus?

Zum Baudratenquarz: Verstehe ich nicht...
Treiberupdate ist bisschen schwierig, da ich ja den Treiber selbst 
geschrieben habe (und noch kein neuer Treiber raus gekommen ist...).

Vielen Dank für die Hilfe,
Johannes

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.