@ki11k4
Web программист - любитель

Как решить ошибку конвертации данных с последовательного порта?

Получаю данные с COM порта. Приходит значение от 0 до 100.
Когда пытаюсь конвертировать в int выскакивает ошибка (скрин прилогается).

Сам код:
string inpSerial = serialPort1.ReadExisting();
label1.Text = inpSerial;
int numm = int.Parse(inpSerial);
progressBar1.Value = numm;


Ошибка:
5c231b218654c388104367.png

Если пробовать получить через serialPort1.ReadLine();, а не через serialPort1.ReadExisting();, то ошибка не проявляется, но такой вариант меня не устраивает так как падает производительность.
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
А что в inpSerial при возникновении ошибки? Явно не число.

bool successfullyParsed = int.TryParse(inpSerial, out num);
if (successfullyParsed){
    // ...
}

где num отпарсеное число, в случае ошибки successfullyParsed будет содержать false
https://docs.microsoft.com/en-us/dotnet/api/system...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы