Цитата(Курсант @ 21.1.2017, 13:50) | Ещё вариант - запустить счётчик реального времени. И при получении байта запоминать метку времени. Кроме того, периодически эту метку времени просматривать. Если интервал от этой метки времени до текущего момент времени превысил максимальную паузу между символами - отправляем накопленную строку на парсинг. |
Я почти так и сделал. При приёме первого байта, запускаю таймер. Следующий принятый байт сбрасывает таймер и он не успевает дойти до значения сравнения. После последнего принятого байта, таймер дотикивает до сравнения и валит в прерывание. Флаг готовности в руки, далее пилю набитый буфер как надо. Работает всё довольно таки шустро.
|