У меня есть два устройства, которые передают данные в мое приложение. Одно устройство, которое непрерывно передает 9-байтовые пакеты данных, оканчивающиеся на «\ r \ n» со скоростью 1 пакет каждые 50 мс до COM1. Второе устройство отправляет 38-байтовый пакет, оканчивающийся '\ r \ n', на COM3, только когда устройство запущено.
У каждого есть совершенно разные SerialDataReceivedEventHandler, и каждый работает в своей собственной dll, помещая их в разные потоки.
COM1 SerialDataReceivedEventHandler всегда работает хорошо.
COM3 SerialDataReceivedEventHandler будет работать хорошо, если данные не передаются в COM1.
Однако, когда COM1 SerialDataReceivedEventHandler работает и COM3 SerialDataReceivedEventHandler работает, COM1 SerialDataReceivedEventHandler запускается немедленно, когда данные доступны, но COM3 SerialDataReceivedEventHandler срабатывает до 12 секунд, когда данные доступны. * 1009
Сдерживает ли COM1 SerialDataReceivedEventHandler COM3 SerialDataReceivedEventHandler от запуска? Или, может быть, что-то еще происходит под капотом SerialDataReceivedEventHandler? Есть идеи?