Tomset91 писал(а):
как программа может заранее предъугадать сколько байт ей предстоить принять ? Внешнее устройство может отправить 1 байт подождать некоторое время и в случайный момент времени отправить 256 байт и так далее в хаотическом порядке...И никуда они не денуться, а застрянут в системном буфере USART, пока ты его не считаешь. Система не предоставляет пользователю RealTime чтение порта, все работает через буферизацию. doRead как раз и читает системный буфер