Member 14120682 Ответов: 1

Операция ввода-вывода была прервана либо из-за выхода потока, либо из-за запроса приложения.


try
{
    start_text = serialPort1.ReadByte();
}
catch (Exception err)
{
    MessageBox.Show(err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}


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

Операция ввода-вывода была прервана либо из-за выхода потока, либо из-за запроса приложения.

CHill60

Публикация руководства №2 "Вы искали или гуглили решение?" А вы пробовали этот поиск[^]

Richard MacCutchan

Вероятно, что-то в коде, что Вы нам не показываете.

Luc Pattyn

Спасибо за ваш код. У вас есть вопрос?

Я знаю: Если вы случайно получаете такое исключение, что ваша программа делает в этот момент? Вы убиваете поток, закрываете порт, выходите из программы или что?

1 Ответов

Рейтинг:
1

Sandeep Mewara

Цитата:
start_text = serialPort1.ReadByte();

Ошибка в основном возникает, если вы пытаетесь прочитать данные, когда порт закрыт. (забыл открыть или случайно закрылся)

Убедитесь, что вы открываете его в самом начале (если еще не делаете):
serialPort1.Open()

Перед чтением данных проверьте состояние порта:
serialPort1.IsOpen

Посмотрите на приведенный здесь пример того, как его использовать: Класс SerialPort (System.IO.Ports) | Microsoft Docs[^]