Необходимо считывать данные с COM-порта. Обычно рекомендуют пользоваться методом ReadLine(). Однако на моем устройстве этот метод часто возвращает пустую строку. Пробовал использовать ReadExisting() в сочетании с Thread.Sleep() почти 100 % положительный результат.
Thread.Sleep(100);
var response = comPort.ReadExisting();
Вот и вопрос: а где подвох? Почему везде и в Инете, и в литературе, и MSDN в том числе, рекомендуют использовать ReadLine()?
ReadExisting получает все данные их буфера. ReadLine ожидает значения окончания строки, затем возвращает строку. Если были получены данные, но не было значения окончания строки, ReadLine ничего не вернет. Поэтому, если вы работаете с текстом, используйте ReadLine. Если работаете с нетекстовой информацией, используйте ReadExisting.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости