Member 13437579 Ответов: 0

Я получил задание считывать непрерывные данные из последовательного порта и отображать их в текстовом поле.


Данные отображаются в текстовом поле правильно, но проблема в том, что всякий раз, когда я пытался выйти из формы, система выдаст исключение.
Операция ввода-вывода была прервана либо из-за выхода потока, либо из-за запроса приложения

Что я уже пробовал:

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Окна.Формы.FormClosingEventArgs) Обрабатывает Me.FormClosing.
(
Попробуй

Если serialport1.open = True, то
serialport1.рядом()
Меня.рядом()
поймать ex как исключение
Конец попытки
)

Для чтения данных через последовательный порт используется serialPort.ReadLine.
Данные, показанные в Гипертерминале
21701RC 21701RC 21701RC 21701RC и так далее непрерывно.

clwprogrammer

Просто чтобы вы знали, люди codeproject обычно не помогают с заданиями человека. Не ждите здесь точного ответа. Кто-то может указать вам правильное направление, чтобы вы могли исследовать, как правильно закрыть соединение последовательного порта. В этой ситуации это зависит от того, как вы непрерывно читаете из последовательного порта. Вы используете несколько потоков? Вы используете таймеры? и т. д... вероятно, вам следует обновить свой вопрос еще несколькими деталями, чтобы кто-то мог указать вам правильное направление.

CHill60

Хороший совет от @clwprogrammer, но вы также должны избавиться от try-catch ... вы проглатываете любые ошибки, не выясняя, что они собой представляют

0 Ответов