да почему не нравятся? каждому овощу своё время! нужно - я и буферы делаю, и автоматы и все прочее. только чаще всего это не нужно. мне не нужно. и я подозреваю, многим другим тоже.COKPOWEHEU писал(а):не знаю чем вам так не нравятся прерывания и буферы
любая непоследовательная обработка сложна в понимании. может ли кто снаскоку понять, как работает чужой автомат конечных состояний? не может. иной раз и после долгих размышлений не получается. а при моём подходе программа получается - читай идентификаторы, и инструкция не нужна. все последовательно, все просто, наглядно. откуда что берется - видно и без размышлений.
ну и к чему тогда так стремиться к этому автомату, тем более что никаких ценных преимуществ в большинстве случаев он не даёт?!
Добавлено after 8 minutes 39 seconds:
я вот вспоминаю один недоделанный мной проект... с GSM-модемом. поначалу я тоже озаботился кольцевыми буферами для обмена с ним... но потом внезапно (!) выяснилось, что модем этот имеет обыкновение отвечать на запросы спустя какое угодно время - может через 1 миллисекунду, а может и три секунды подождать перед ответом. и обмен с ним получается не очень-то логичным: нельзя в буфер выбрасывать следующую команду, не получив отчет о исполнении предыдущей. и сразу все кольца аннигилируются, т.е. все преимущества типа отправил и делай следующее превратились в тыкву. зато читать из кольцевого буфера тот еще геморрой: из линейного можно сразу обрабатывать при помощи всяких strcpy и тому подобных atoi, а с буфером будь добр сначала вычитать в отдельный буфер принятую строку... мало того, что СМС может прийти хрен знает какой длины и кольцевой буфер переполниться может, так еще и не прочитать никак быстро и удобно!
и как-то само собой получилось то, что я и говорил ранее: прием от GSM-модема по прерываниям (в линейный буфер!) с установкой флага принятых данных, а отправка в модем - при помощи блокирующего printf. и оно отлично работает! размер СМСки, правда, все равно острый нож, но остальное - спокойно и без напрягов.
Добавлено after 10 minutes 38 seconds:
из "многозадачной" темы лучшая моя находка - это массивы функций без явного описания массивов
удобство чисто в написании кода - но для меня оно важнее, чем "истинная" параллельность и высвобождение ресурсов МК