COM (RS232) Port hat zu viel zeitverzug

Gast #1551153
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
Angehängte Dateien:
Gast #1553368
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren