-
- Совершенно непонятно, почему все прицепились к прерываниям? Обработчик прерывания - это функция, закопанная глубоко в недрах модуля, его внутреннее дело. И работает с приватными переменными модуля. Зачем из прерывания вызывать интерфейсные функции Леонид Иванович(16 знак., 26.04.2013 12:40)
- в PIC18 это не так у него один вектор прерывания. Поэтому где только можно использую PIC24(если новый проект и цены сопоставимы) у которого у каждого прерывания свой вектор. Вот тогда обработчик располагается в модуле и можно использовать static. - abivan(26.04.2013 13:08)
- у 18-ого 2 вектора, у 16-ого один. Nikolay801_(30 знак., 26.04.2013 13:25)
- Увы, с профессиональными контроллерами не знаком. - Леонид Иванович(26.04.2013 13:16)
- Бывает надо... Поместить принятые данные в fifo, например. Такая архитектура, что очередь в другом модуле. Либо чисто по техническим причинам оно в другом модуле, сложно всё засунуть в один C-файл. Либо какие-либо чисто вычислительные функции fk0(99 знак., 26.04.2013 12:59)
- +1. Тоже жутко негодую по этому поводу. - SciFi(26.04.2013 12:44)
- Например, общий системный тик, который должен дергать все модули. Я то вызываю функции, но постоянно отслеживаю ресурсы, допуская, что их может не хватить. Что тогда? - Vladimir Ljaschko(26.04.2013 12:42)
- Ужос. Вот мой обработчки прерывания таймера, который генерирует системный тик: Леонид Иванович(181 знак., 26.04.2013 12:59)
- А как Вы делаете, когда один "процесс" или "модуль" требует обслуживание высокоприоритетное обслуживание, скажем 250 мкс, и средне-приоритетное (10мс), и вообще редкое (1с)? - Vladimir Ljaschko(26.04.2013 16:30)
- как-то рассказывал в общем как оно у меня - Vit(29.04.2013 10:03, ссылка)
- Тут такое дело: Леонид Иванович(309 знак., 26.04.2013 22:51)
- ха. в системе с многозадачностью я легко могу отдать всё свободное время на какую-либо фоновую задачу, которой абсолютно не требуется реалтайм. и наличие такой задачи вообще никак не повлияет на работу остальных. тайминги вызова остальных Mahagam(399 знак., 27.04.2013 00:58)
- Про тайминги остальных поясните плз, если мне нужен сервисы из 5 модулей каждые 500 мкс, как это я должен реализовать это под RTOS? - Vladimir Ljaschko(27.04.2013 17:04)
- В курятниках такого не бывает. - Леонид Иванович(27.04.2013 01:19)
- и одна из причин этого... Mahagam(34 знак., 27.04.2013 01:22)
- Нет. Отсутствие такой необходимости. Леонид Иванович(46 знак., 27.04.2013 01:40)
- Конечно, у Вас курятники, крутизна и правильность, а у меня один "ужос". Нехорошо получается...Нелогично ;) - Vladimir Ljaschko(27.04.2013 13:29)
- Не путайте, это у Вас крутизна, а у меня - курятники. - Леонид Иванович(27.04.2013 15:18)
- красивые курятники. И ужасная крутизна koyodza(50 знак., 27.04.2013 15:32)
- Не путайте, это у Вас крутизна, а у меня - курятники. - Леонид Иванович(27.04.2013 15:18)
- Конечно, у Вас курятники, крутизна и правильность, а у меня один "ужос". Нехорошо получается...Нелогично ;) - Vladimir Ljaschko(27.04.2013 13:29)
- Нет. Отсутствие такой необходимости. Леонид Иванович(46 знак., 27.04.2013 01:40)
- и одна из причин этого... Mahagam(34 знак., 27.04.2013 01:22)
- ха. в системе с многозадачностью я легко могу отдать всё свободное время на какую-либо фоновую задачу, которой абсолютно не требуется реалтайм. и наличие такой задачи вообще никак не повлияет на работу остальных. тайминги вызова остальных Mahagam(399 знак., 27.04.2013 00:58)
- Для 250 мкс часто можно прерваться и всего-лишь обслужить по минимуму (инкрементнуть чего, в буфер загнать и т.п.) и не потерять событие, а потом
медленно спуститься и покрыть всё стадоостальную обработку сделать в фоне. Для 10 мс опять же Vit(227 знак., 26.04.2013 22:01 - 22:04) - обычно на это разные функции-обработчики. Но все они должны выполняться быстро. Если что-то требует долгого ожидания, оно разбивается таким образом, чтобы каждая часть выполнялась быстро - koyodza(26.04.2013 16:48, ссылка)
- Ну вот рассудите. У меня есть 1) расчеты на десяток миллисекунд с периодом 100мс 2) расчеты на 1 мс с периодом 10 мс 2) обслуживание 5-6 логических модулей с периодом 500 мкс. Как совместить? Я не могу разделить на части формулу с long long - что Vladimir Ljaschko(12 знак., 26.04.2013 17:41)
- смешались кони с котлетами koyodza(2082 знак., 26.04.2013 18:00)
- Вы потянули слишком сильно в грубины RTOS. Имеем жесткий быстрый реал-тайм в нескольких логических модулей плюс мягкий разноуровневый реалтайм. Я реализую как последовательные вызовы функций из каждого модуля в прерываниях по системному тику, плюс Vladimir Ljaschko(358 знак., 27.04.2013 16:58)
- поясните, что Вы называете "жестким реалтаймом"? На примере, пожалуйста - koyodza(27.04.2013 20:30)
- Например ногодрыганье квантами 500 мкс с джиттером до 5-10 мкс и наличие других процессов с тем же периодом, пусть большим джиттером (например, программный опрос счетчиков). Поясните плз Вашу альтернативу без ISR и вызова функций. - Vladimir Ljaschko(27.04.2013 20:46)
- там, где тайминги важны, нужно максимально делать аппаратно. То, что не получается делать аппаратно - делается с использованием прерываний, но с минимумом работы внутри прерывания koyodza(1395 знак., 27.04.2013 21:00)
- К сожалению, требования появились через 3-4 года после начала выпуска, поэтому аппаратуру (в том числе ISR в полном объеме) использовать не получается :( В части завышения требований есть пара слабых мест, но они существенно не спасают. Vladimir Ljaschko(228 знак., 27.04.2013 21:23)
- Ну вот и ответ. Попытки впихнуть дополнительный функционал в старое железо - это особый случай, тут все методы хороши. Но не следует на этом примере строить свой стиль программирования. - Леонид Иванович(27.04.2013 21:52)
- Мой стиль идеален для множества идеальных микроконтроллеров ибо знание архитектуры и периферии не требуется. Простое портирование проекта только по критериям быстродействия ядра. Поставил бы ARM - все проблемы бы отпали при сохранения стиля! :) - Vladimir Ljaschko(27.04.2013 22:13)
- Вы сильно заблуждаетесь: бардак имеет свойство нарастать, если ему предоставлять дополнительные ресурсы - koyodza(27.04.2013 22:22)
- +100500 - koyodza(27.04.2013 21:55)
- Мой стиль идеален для множества идеальных микроконтроллеров ибо знание архитектуры и периферии не требуется. Простое портирование проекта только по критериям быстродействия ядра. Поставил бы ARM - все проблемы бы отпали при сохранения стиля! :) - Vladimir Ljaschko(27.04.2013 22:13)
- изначально неправильно спроектированную систему вряд-ли удастся превратить в нормальную, но можно по крайней мере попытаться не усугублять ситуацию. А какой там МК - не важно, если его в принципе хватает - koyodza(27.04.2013 21:43)
- Ну вот и ответ. Попытки впихнуть дополнительный функционал в старое железо - это особый случай, тут все методы хороши. Но не следует на этом примере строить свой стиль программирования. - Леонид Иванович(27.04.2013 21:52)
- К сожалению, требования появились через 3-4 года после начала выпуска, поэтому аппаратуру (в том числе ISR в полном объеме) использовать не получается :( В части завышения требований есть пара слабых мест, но они существенно не спасают. Vladimir Ljaschko(228 знак., 27.04.2013 21:23)
- Собственно, я выше указал. - Vladimir Ljaschko(27.04.2013 20:48, ссылка)
- там, где тайминги важны, нужно максимально делать аппаратно. То, что не получается делать аппаратно - делается с использованием прерываний, но с минимумом работы внутри прерывания koyodza(1395 знак., 27.04.2013 21:00)
- Например ногодрыганье квантами 500 мкс с джиттером до 5-10 мкс и наличие других процессов с тем же периодом, пусть большим джиттером (например, программный опрос счетчиков). Поясните плз Вашу альтернативу без ISR и вызова функций. - Vladimir Ljaschko(27.04.2013 20:46)
- Присоединяюсь к вопросу, который задал fk0 ниже: какой-такой жесткий реалтайм? Придумываете несуществующие требования, чтобы только оправдать свою точку зрения. - Леонид Иванович(27.04.2013 19:24)
- поясните, что Вы называете "жестким реалтаймом"? На примере, пожалуйста - koyodza(27.04.2013 20:30)
- просцыте великодушно, но почему бы вытесняющую многозадачность не влепить? - Mahagam(26.04.2013 19:46)
- накуа? Чтобы ничего не контролировать? Хватит с меня и винды, в МК по-возможности минимизирую использование чужого кода - koyodza(26.04.2013 20:10)
- я без исходников (или с малочитаемыми) многозадачку и не рассматриваю. а та которая понята - та полностью под контролем. - Mahagam(26.04.2013 20:34)
- мне эта понятнее. Вытесняемость пока не нужна - koyodza(26.04.2013 21:28)
- а по мне так оно куда как проще получается. - Mahagam(26.04.2013 20:12)
- Как в вытесняющей многозадачности сделать два параллельных strtok() ? Или как многозадачность -- так вытесняющая. А как библиотечные функции -- не используем. (можно сделать, но не на всякой libc) - fk0(26.04.2013 20:35)
- да, нужна аккуратность. Либо abivan(2420 знак., 27.04.2013 14:07)
- и много таких однопоточных функций? если придётся отказаться от strtok() ради всего удобства многозадачности - то почему бы и нет? - Mahagam(26.04.2013 21:36)
- Если явно то не указано -- вся C-библиотека. И масса собственного кода, если не принималось мер против того. Любая static переменная всё портит же. Что характерно во многих "ОС" нет понятия thread local storage. Что наводит мысль на крайнюю их fk0(14 знак., 26.04.2013 22:28)
- галимейший фриртос портировали на всё что может исполнять хоть какое-то подобие программ. сделали поддержку чуть ли не всех существующих компиляторов, и кагбээ проблем особо не возникает. вы про все Си-либы серьёзно? да? - Mahagam(27.04.2013 01:06)
- В "галимейшем фриртосе" как раз проблема с отсутствием глобальной переменной позволяющей хранить thread specific data. А проблем не возникает потому, что фриртос используют совместно с весьма специфическими программами. Где библиотечных функций не fk0(1061 знак., 27.04.2013 11:57)
- Пардон за вмешательство.Это не FF виноват. saifullin(82 знак., 27.04.2013 20:24)
- у меня 98% вызовов библиотечных функций - это тупо memcpy() да memset(). всё. остальное - свой код, который пишется вручную. а вы что? используете кодогенераторы? или как? Mahagam(1016 знак., 27.04.2013 13:15)
- А malloc? rand? А errno, наконец? А на errno, между прочим, завязана масса функций из math.h -- всё это неиспользовать, написать своё? Уже маразм в полную силу, не кажется? И попрошу заметить, во вменяемых ОС с потокобезопасностью всего этого fk0(2841 знак., 27.04.2013 16:47)
- malloc() пусть горит в огне. нехватало ещё нарваться на утечки памяти да отказ в выделении. цена крэша ~100k$, а MMU прикручивать пока что нет времени и возможностей. ведь на примитивном уровне TLS - это стек потока, ну так избавится от статиков Mahagam(1310 знак., 28.04.2013 01:37)
- Изначально речь шла про FreeRTOS, а не CrossWorks. Так вот в FreeRTOS невозможно ожидать множество событий. Это принципиальное ограничение. - fk0(28.04.2013 16:06)
- Утечки и фрагментация памяти -- это миф, как мне кажется, про который любят очень рассказывать те, кто их в глаза не видел. Только в узком круге задач возможна фрагментация или требуется гарантированное выделение памяти. Там и там можно тем же fk0(179 знак., 28.04.2013 16:02)
- MMU притянут за уши. Для реализации TLS нужна всего лишь некая глобальная переменная-указатель меняющая значение при переключении задач. MMU для неё не нужен и при наличии MMU она автоматически не появится, если её нет. - fk0(28.04.2013 15:31)
- MMU и будет менять адрес с переключением задач. - Mahagam(28.04.2013 15:37)
- "цена крэша ~100k$" - чуть не помер от хохота. Пальцы веером у Вас, наверное, даже во сне? - Леонид Иванович(28.04.2013 02:14)
- какое отношение имеет сон к суровой реальности? - Mahagam(28.04.2013 14:48)
- Уважаемый Леонид Иванович, не смейтесь, знаете, как тяжело отлаживать софт, не имея возможности протестировать все на рабочем объекте? Потому как сделать это можно всего один раз, ибо цена, скажем так, "включения" этого объекта, несколько alex68(187 знак., 28.04.2013 03:35)
- Да ладно Вам, знаю я, какие космические корабли тут запускают с крыш курятников. Один-единственный фирменный БП на весь форум говорит о многом. - Леонид Иванович(28.04.2013 11:56)
- разные есть. Но те, что громче кричат о "сотнях к$" обычно об этом только мечтают. Фирменное оборудование - тоже не показатель серьёзности/ответственности проектов, а только показатель количества выделяемых на его закупку денег koyodza(285 знак., 28.04.2013 12:58)
- Конечно, дело не в том, что кушать нечего. Леонид Иванович(115 знак., 28.04.2013 13:08)
- возможно, точно так же никто ни разу не уперся в проблему, когда нужен лабораторный БП от агилента, всех устраивают mastech и подобные, а выкидывать кучу денег непонятно на что мало кому хочется. Так зачем Вы всё время об этом вспоминаете? - koyodza(28.04.2013 14:51)
- Off. Не очень понял - меня пинают всуе за то, что имел наглость купить себе дешевый фирменный блок питания? :) Или за то, что написал здесь про это? - alex68(28.04.2013 15:26)
- Наоборот, только Вам я могу поверить, что участвуете в проектах за килобаксы. Кстати, хотел спросить: Леонид Иванович(149 знак., 28.04.2013 18:13)
- Они не бывают на форумах. Но спросите здесь, я узнаю всё у них. - alex68(28.04.2013 18:32)
- не Вас, а ЛИ: за то, что он всех пинает за то, что все рассказывают о "крутых проектах", а сами не хотят покупать дорогие блоки питания - koyodza(28.04.2013 15:47)
- В это верю - проекты на работе, а не дома , а руководство жмется на оборудование. У нас редкое исключение, покупают СВЧ анализаторы и тому подобное за реально большие деньги. Но без них невозможно обеспечить требуемые параметры. - alex68(28.04.2013 15:58)
- это понятно koyodza(212 знак., 28.04.2013 16:02)
- У нас не так. Просто так не покупают даже простой отладчик. Надо подойти к начальнику (иногда и ко мне) и внятно сказать зачем оно надо :) - alex68(28.04.2013 16:31)
- У "крутого" оборудования есть и масса других недостатков - масса, габариты, шумящее охлаждение, долгая загрузка Windows XP... :-)) - =AlexD=(28.04.2013 16:25)
- Если нужно увидеть шумы на уровне минус 160-170 децибел, то без разницы, сколько весит аппарат, хоть центнер. Либо глянуть на работу фазового модулятора на гигагерцах :) - alex68(28.04.2013 16:35)
- Это я не к тому, что крутое оборудование - плохо, а к тому, что покупка чего попроще может быть сознательным выбором, а не прихотью начальства :-). - =AlexD=(28.04.2013 17:08)
- +100500. В этом вопросе тоже полезна бывает умеренность - koyodza(28.04.2013 17:09)
- Это я не к тому, что крутое оборудование - плохо, а к тому, что покупка чего попроще может быть сознательным выбором, а не прихотью начальства :-). - =AlexD=(28.04.2013 17:08)
- К слову, Linux загружается на менее крутом оборудовании не сильно быстрее - Alex B.(28.04.2013 16:33)
- бывает и 95 или даже NT3.51 :=) - koyodza(28.04.2013 16:26)
- Если нужно увидеть шумы на уровне минус 160-170 децибел, то без разницы, сколько весит аппарат, хоть центнер. Либо глянуть на работу фазового модулятора на гигагерцах :) - alex68(28.04.2013 16:35)
- это понятно koyodza(212 знак., 28.04.2013 16:02)
- В это верю - проекты на работе, а не дома , а руководство жмется на оборудование. У нас редкое исключение, покупают СВЧ анализаторы и тому подобное за реально большие деньги. Но без них невозможно обеспечить требуемые параметры. - alex68(28.04.2013 15:58)
- Наоборот, только Вам я могу поверить, что участвуете в проектах за килобаксы. Кстати, хотел спросить: Леонид Иванович(149 знак., 28.04.2013 18:13)
- Off. Не очень понял - меня пинают всуе за то, что имел наглость купить себе дешевый фирменный блок питания? :) Или за то, что написал здесь про это? - alex68(28.04.2013 15:26)
- возможно, точно так же никто ни разу не уперся в проблему, когда нужен лабораторный БП от агилента, всех устраивают mastech и подобные, а выкидывать кучу денег непонятно на что мало кому хочется. Так зачем Вы всё время об этом вспоминаете? - koyodza(28.04.2013 14:51)
- Конечно, дело не в том, что кушать нечего. Леонид Иванович(115 знак., 28.04.2013 13:08)
- Речь не о космосе, там стоимость запуска много выше :) Ну и не все говорят всю правду о себе и работе :) Повторюсь - не имея сколько нибудь адекватного стенда, отлаживаться очень трудно, и стоимость ошибок очень велика. Приходится все отлаживать alex68(57 знак., 28.04.2013 12:44)
- В таком случае есть какая-то модель объекта, симулятор. Не надо перегибать палку. - fk0(28.04.2013 16:10)
- Нет, совет должен быть другим. Леонид Иванович(144 знак., 28.04.2013 18:10)
- По этому поводу могу сказать, что всегда говорю программистам - не получается что-то, не молчите, скажите, будем разбираться вместе, либо найдем еще кого-то для консультации. А то тянут до сдачи этапа :) Ну а простых задач у нас нет вообще. - alex68(28.04.2013 18:36)
- Никогда не понимал, почему некоторые люди идут, например, в шахтеры, ведь более легкая работа всегда есть. - Леонид Иванович(28.04.2013 18:41)
- есть места, где другой работы практически нет, всё завязано на шахту. Альтернатива - только менять место жительства koyodza(147 знак., 28.04.2013 18:54)
- Никогда не понимал, почему некоторые люди идут, например, в шахтеры, ведь более легкая работа всегда есть. - Леонид Иванович(28.04.2013 18:41)
- По этому поводу могу сказать, что всегда говорю программистам - не получается что-то, не молчите, скажите, будем разбираться вместе, либо найдем еще кого-то для консультации. А то тянут до сдачи этапа :) Ну а простых задач у нас нет вообще. - alex68(28.04.2013 18:36)
- Блин, сами идите и полетайте, а потом пишите :) - alex68(28.04.2013 17:20)
- модель часто сильно отличается от реальности в крупных проектах, где задействован не только электронщик с программистом, а токари, слесари, строители и прочие, а сама модель строится по чисто теоретическим оценкам какого-то математика, зачастую не koyodza(65 знак., 28.04.2013 16:18)
- плюс мильярд :) - alex68(28.04.2013 17:22)
- Нет, совет должен быть другим. Леонид Иванович(144 знак., 28.04.2013 18:10)
- В таком случае есть какая-то модель объекта, симулятор. Не надо перегибать палку. - fk0(28.04.2013 16:10)
- разные есть. Но те, что громче кричат о "сотнях к$" обычно об этом только мечтают. Фирменное оборудование - тоже не показатель серьёзности/ответственности проектов, а только показатель количества выделяемых на его закупку денег koyodza(285 знак., 28.04.2013 12:58)
- Да ладно Вам, знаю я, какие космические корабли тут запускают с крыш курятников. Один-единственный фирменный БП на весь форум говорит о многом. - Леонид Иванович(28.04.2013 11:56)
- Ну и напрасно. "Есть многое на свете, друг Горацио, что и не снилось нашим мудрецам"(с) - MBedder(28.04.2013 02:33)
- malloc() пусть горит в огне. нехватало ещё нарваться на утечки памяти да отказ в выделении. цена крэша ~100k$, а MMU прикручивать пока что нет времени и возможностей. ведь на примитивном уровне TLS - это стек потока, ну так избавится от статиков Mahagam(1310 знак., 28.04.2013 01:37)
- А malloc? rand? А errno, наконец? А на errno, между прочим, завязана масса функций из math.h -- всё это неиспользовать, написать своё? Уже маразм в полную силу, не кажется? И попрошу заметить, во вменяемых ОС с потокобезопасностью всего этого fk0(2841 знак., 27.04.2013 16:47)
- ы? -> - Snaky(27.04.2013 12:16, ссылка)
- жаль, было бы интересно почитать - koyodza(27.04.2013 12:00)
- В "галимейшем фриртосе" как раз проблема с отсутствием глобальной переменной позволяющей хранить thread specific data. А проблем не возникает потому, что фриртос используют совместно с весьма специфическими программами. Где библиотечных функций не fk0(1061 знак., 27.04.2013 11:57)
- галимейший фриртос портировали на всё что может исполнять хоть какое-то подобие программ. сделали поддержку чуть ли не всех существующих компиляторов, и кагбээ проблем особо не возникает. вы про все Си-либы серьёзно? да? - Mahagam(27.04.2013 01:06)
- Если явно то не указано -- вся C-библиотека. И масса собственного кода, если не принималось мер против того. Любая static переменная всё портит же. Что характерно во многих "ОС" нет понятия thread local storage. Что наводит мысль на крайнюю их fk0(14 знак., 26.04.2013 22:28)
- проще, не спорю - по крайней мере для случаев, когда есть асинхронные задачи, выполняющиеся долго. Но лучше обойдусь без этого. Вопросы надёжности и разделения ответственности мне более важны, чем простота использования - koyodza(26.04.2013 20:13)
- Как в вытесняющей многозадачности сделать два параллельных strtok() ? Или как многозадачность -- так вытесняющая. А как библиотечные функции -- не используем. (можно сделать, но не на всякой libc) - fk0(26.04.2013 20:35)
- я без исходников (или с малочитаемыми) многозадачку и не рассматриваю. а та которая понята - та полностью под контролем. - Mahagam(26.04.2013 20:34)
- накуа? Чтобы ничего не контролировать? Хватит с меня и винды, в МК по-возможности минимизирую использование чужого кода - koyodza(26.04.2013 20:10)
- Вы потянули слишком сильно в грубины RTOS. Имеем жесткий быстрый реал-тайм в нескольких логических модулей плюс мягкий разноуровневый реалтайм. Я реализую как последовательные вызовы функций из каждого модуля в прерываниях по системному тику, плюс Vladimir Ljaschko(358 знак., 27.04.2013 16:58)
- смешались кони с котлетами koyodza(2082 знак., 26.04.2013 18:00)
- Ну вот рассудите. У меня есть 1) расчеты на десяток миллисекунд с периодом 100мс 2) расчеты на 1 мс с периодом 10 мс 2) обслуживание 5-6 логических модулей с периодом 500 мкс. Как совместить? Я не могу разделить на части формулу с long long - что Vladimir Ljaschko(12 знак., 26.04.2013 17:41)
- у меня немного иначе koyodza(64 знак., 26.04.2013 13:33)
- Такой вариант тоже использую, иногда сочетаю и флаг, и счетчик. - Леонид Иванович(26.04.2013 14:04)
- Сложность контроля за ресурсами намного возрастает - нужно проверять задержку каждой задачи. А у меня рухнула система - аха, понятно :) - Vladimir Ljaschko(26.04.2013 13:05)
- У меня кооперативка, задачи сразу проектируются так, чтобы не кушать больше положенного кванта времени. - Леонид Иванович(26.04.2013 13:14)
- и я плюсану - abivan(26.04.2013 13:46)
- +1 - koyodza(26.04.2013 13:34)
- У меня кооперативка, задачи сразу проектируются так, чтобы не кушать больше положенного кванта времени. - Леонид Иванович(26.04.2013 13:14)
- А как Вы делаете, когда один "процесс" или "модуль" требует обслуживание высокоприоритетное обслуживание, скажем 250 мкс, и средне-приоритетное (10мс), и вообще редкое (1с)? - Vladimir Ljaschko(26.04.2013 16:30)
- Ужос. Переделать всё немедленно. - SciFi(26.04.2013 12:45)
- Нэ буду. Мне и так хорошо - одно прерывание на все модули, все красиво и понятно. - Vladimir Ljaschko(26.04.2013 13:03)
- Ужос. Вот мой обработчки прерывания таймера, который генерирует системный тик: Леонид Иванович(181 знак., 26.04.2013 12:59)
- в PIC18 это не так у него один вектор прерывания. Поэтому где только можно использую PIC24(если новый проект и цены сопоставимы) у которого у каждого прерывания свой вектор. Вот тогда обработчик располагается в модуле и можно использовать static. - abivan(26.04.2013 13:08)
- Это у многих МК так: Apтём(330 знак., 26.04.2013 12:38)
- Это потому, что у программистов проф. уровня вся программа пишется в одном C-файле. Я недавно пример давал (в теме про goto). Тогда никакого оверхеда. - fk0(26.04.2013 12:38)
- Кто ж спорит. Вопрос оверхеда нужно решать на самом входе: писать программу так, как удобно машине, или так, как удобно человеку. - Леонид Иванович(26.04.2013 13:01)
- Да ладно, ты тогда базарил, что "программисты профессионального уровня на Паскале ваяют". Что за разброд и шатания? - tesla(26.04.2013 12:53)
- Совершенно непонятно, почему все прицепились к прерываниям? Обработчик прерывания - это функция, закопанная глубоко в недрах модуля, его внутреннее дело. И работает с приватными переменными модуля. Зачем из прерывания вызывать интерфейсные функции Леонид Иванович(16 знак., 26.04.2013 12:40)