В настоящее время работающее программное обеспечение иногда зависает, когда я закрываю последовательный порт. Его прерывистый и работает нормально 90% времени, но у меня явно есть проблема. Когда я ctl + Alt + Break, он показывает, что его ожидание на serial.Close().
У меня есть много данных, поступающих и выходящих из последовательного порта, который вызывается в нескольких формах, так что это проблема с потоками?
Да, это может быть так. См. это сообщение. См. также здесь, в котором говорится, что использование BeginInvoke, а не Invoke может решить вашу проблему.
Кроме того, если вы используете последовательный адаптер USB, у вас может возникнуть проблема с драйвером. Некоторые из этих драйверов плохо написаны и могут вызвать целый ряд проблем.