Цитата(interrupt @ Dec 3 2015, 23:32)

Такая задача. Контроллер принимает по UART некоторые данные в виде строк разной длины и содержания. Т.е. обычные текстовые строки. В этих строках может содержаться команда для контроллера, например: Switсh on out 7, input 1 disable, Led 11 on.
............
Если известна максимальная длина команды, то в обработчике прерыввания можно сделать буфер FIFO той же длины и с каждым входящим байтом анализировать именно это окно, а не весь массив. В GSM-модеме в конце каждой команды следует байт 0x0D, по которому обработчик прерывания устанавливает флаг, что принята команда и FIFO буфер нужно скопировать для последующего неспешного анализа, чтобы следующие приходящие байты не помешали. Если крутится операционка, то прерывание по определённому символу выдаёт семафор соответствующей задаче. Как-то так мне это представляется.