Ты ЩО дурный (С) Без обид
У тебя сообщение начинается с $ , заканчивается * +2 символа контрольной суммы.
Вот и начинай запись в буфер с $ , а когда * прилетает - обрабатывай сообщение из буфера. Сколько * прилетело столько и сообщений обработать надо, т.е. счётчик сообщений ещё надо инкрементить в прерывании.
Вот и всё - 2 if, флаговая переменная и счётчик сообщений в прерывании - обработчик в цикле основной программы завязан на if (флаговая переменная){парсер}
Сообщение отредактировал MKdemiurg - Dec 29 2011, 11:58