Зависать от Serial.Close (), возможна проблема с многопоточностью?

2

В настоящее время работающее программное обеспечение иногда зависает, когда я закрываю последовательный порт. Его прерывистый и работает нормально 90% времени, но у меня явно есть проблема. Когда я ctl + Alt + Break, он показывает, что его ожидание на serial.Close().

У меня есть много данных, поступающих и выходящих из последовательного порта, который вызывается в нескольких формах, так что это проблема с потоками?

Теги:
multithreading
serial-port

1 ответ

2
Лучший ответ

Да, это может быть так. См. это сообщение. См. также здесь, в котором говорится, что использование BeginInvoke, а не Invoke может решить вашу проблему.

Кроме того, если вы используете последовательный адаптер USB, у вас может возникнуть проблема с драйвером. Некоторые из этих драйверов плохо написаны и могут вызвать целый ряд проблем.

  • 0
    BeginInvoke на всем моем коде GUI модуля будет слишком страшным, поэтому я воспользовался другим советом из ссылки, которую вы разместили. Я создаю другую ветку, которая закрывает порт!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню