Forum: PC-Programmierung COM (RS232) Port hat zu viel zeitverzug


von Maddis (Gast)


Angehängte Dateien:

Lesenswert?

Hi!
nach längerer suche um mein problem zu lösen bin ich nun an einem punkt, 
an welchem ich keine idee mehr habe, aber ich hoffe ihr wisst vielleicht 
was dazu.

folgendes problem:
ich lese einen act-empänger an der seriellen schnittstelle aus.
das ganze mach ich von einem linux mit echtzeitkernel aus.
prinzipiell ist das auch kein problem, ich hab das act-protokol und die 
daten kommen auch alle richtig an.
wie ihr im source sehen könnt mach ich das über eien signal handler, der 
veranlasst den port auszulesen und die daten dann passend in einen 
input-array einordnet.
dieser input-array wird dann passend aufgearbeitet und wiederum in einem 
output-array gespeichert der dann weitergesendet werden soll, bzw. erst 
mal an der console ausgegeben wird.
zum testen mache ich im augenblick nichts anderes als das input signal 
zu invertieren, wenn kanal 5 auf high steht, wenn kanal 5 auf low ist 
wird nichts mit dem signal gemacht.
hoffe soweit ist alles verständlich, nun das problem:
wenn ich die daten in der console ausgebe hab ich ein zeitverzug von 
4-10 sekunden! das macht sich in sofern bemerkbar, dass wenn ich einen 
knüppel der fernsteuerung bewege diese änderung ebend erst 4-10 sekunden 
später ausgegeben wird.

ich hoffe jemand weiss, oder sieht am source, woran es liegt.
vielen dank schon mal für eure hilfe!
gruß maddis

von Maddis (Gast)


Lesenswert?

Ich hab natürlich an der total falschen Stelle gesucht! .....
Es lag nicht am COM-Port, oder dessen initialisierung, sondern an der 
eigenen kbhit() funktion. die ist zu langsam, somit wird auch die 
schleife zu langsam ausgeführt!
Gruß Maddis

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.