![]() |
Problem mit TSerial und EventChar
Hallo zusammen,
ich habe ein Problem mit der Komponente TSerial. Ein Mikrocontroller sendet unmittelbar hintereinander Befehle über RS232 an den PC, alle Befehle werden mit #13 abgeschlossen. Ich habe nun bei TSerial #13 als EventChar eingetragen. Meiner Auffassung nach sollte sieser Eventhandler bei jeder empfangenen #13 aufgerufen werden, wird er aber nicht :pale: Wenn ich einen Breakpoint setze, sehe ich, dass in dem empfangenen String (wird mit Serial1.ReceiveText eingelesen) immer mehre Befehle hintereinander stehen, also z.B. "gp0#13gp1#ang1023". Das sind ganau die Befehle, die hintereinander im Timer-Interrupt des Mikrocontrollers gesendet werden. Es scheint also, als ob der PC jedesmal zwei #13 einfach ignoriert. Ist also die Interrupt-Latenz des PCs tatsächlich zu groß? Als Alternative habe ich schon mal einen kleinen Parser geschrieben, der den String dann wieder "zerpflückt". So muss ich aber beim Mikrocontroller, wenn alle Befehle rausgeschickt wurden nochmal ein extra EventChar senden... Weiß jemand Rat? P.S. Ich hoffe ich bin inder richtigen Rubrik, wusste nicht wo das sonst hinpasst... |
Re: Problem mit TSerial und EventChar
Keine RS232-/TSerial-Spezialisten hier? Wäre wirklich dankbar für Hilfe...
|
Re: Problem mit TSerial und EventChar
Hallo.
#13 ist der default event char. Wie sieht dein event handler aus? Wird er überhaupt getriggert? Grüße vom marabu |
Re: Problem mit TSerial und EventChar
Eventhandler: Doppelklick im OI bei OnEventChar (TSerial), Events sind eingeschaltet, Eventchar steht auf #13.
Im Eventhandler lese ich dann mit Serial1.ReceiveText den empfangenen Text aus. Der EventHandler wird getriggert, aber eben erst bei der 3. empfangenen #13... Ach so, Übertragungsrate ist 19200 Baud, 2 Stopbit. Das sollte ja eigentlich nicht zu schnell für einen PC sein ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz