-
- Это два разных подхода к кодированию. 1 посылать сигналы модулю 2 вызывать модуль для сбора сигналов. ИМХО 2 метод хуже переносим. Спецификация модуля должна определять что необходимо для его работы, и если требует создания глобальных переменных и =AlexD=(327 знак., 19.01.2012 07:10)
- Если посмотреть как это делается в FBD то увидим что там "связь вход-выход" выделяют в отдельную сущность. Это очень правильно, один и тот же автомат может быть использован несколько раз, в разных местах программы. На Си для этого подходит Скрипач(21 знак., 20.01.2012 10:22)
- У меня сложилась практика передачи связи в виде ссылки на класс, специфицированном параметром шаблона :-), из которого дёргаются методы унифицированные на сколько это разумно (read, write & etc.). В такой конфигурации использование готовых модулей =AlexD=(34 знак., 20.01.2012 11:06)
- А можно примерчик? Я тоже сейчас нечто подобное изобретаю. Этакий полиморфизм силами компилятора :) - Скрипач(20.01.2012 18:11 - 18:46)
- У меня сейчас мозг занят схемотехникой и трассировкой пп и я физически не могу переключиться на программирование. Может через пару недель я буду в состоянии что-то выдать. - =AlexD=(23.01.2012 14:36)
- Потерпим. Не к спеху. - Скрипач(23.01.2012 17:02)
- У меня сейчас мозг занят схемотехникой и трассировкой пп и я физически не могу переключиться на программирование. Может через пару недель я буду в состоянии что-то выдать. - =AlexD=(23.01.2012 14:36)
- А можно примерчик? Я тоже сейчас нечто подобное изобретаю. Этакий полиморфизм силами компилятора :) - Скрипач(20.01.2012 18:11 - 18:46)
- подходит передача параметров .... ага, в виде указателя на структуру. Но собственно к автоматам это не относится. Так, общий стиль программирования. - Vladimir Ljaschko(20.01.2012 10:55)
- А не накладно? В смысле много-букв-писать-через-указатель-обращаться? - Скрипач(24.01.2012 20:17)
- А голова зачем дана? Когда накладно, то инлайнить. Пример управления двумя приводами (position control=pc) да и прочими автоматами для трех проектов в одном workspace. Vladimir Ljaschko(1276 знак., 24.01.2012 20:31)
- Угу. Именно то, о чем я говорил. НАКЛАДНО! (Я про много служебных символов в тексте, инлайном такое не лечится) Скрипач(2610 знак., 24.01.2012 21:17 - 22:04)
- Инлайном лечится все, я проверял. Например, аналогичное под инлайном на высшей оптимизации под ИАРом ускоряется существенно. Vladimir Ljaschko(3606 знак., 24.01.2012 23:25 - 25.01.2012 08:22)
- Угу. Именно то, о чем я говорил. НАКЛАДНО! (Я про много служебных символов в тексте, инлайном такое не лечится) Скрипач(2610 знак., 24.01.2012 21:17 - 22:04)
- А голова зачем дана? Когда накладно, то инлайнить. Пример управления двумя приводами (position control=pc) да и прочими автоматами для трех проектов в одном workspace. Vladimir Ljaschko(1276 знак., 24.01.2012 20:31)
- А не накладно? В смысле много-букв-писать-через-указатель-обращаться? - Скрипач(24.01.2012 20:17)
- У меня сложилась практика передачи связи в виде ссылки на класс, специфицированном параметром шаблона :-), из которого дёргаются методы унифицированные на сколько это разумно (read, write & etc.). В такой конфигурации использование готовых модулей =AlexD=(34 знак., 20.01.2012 11:06)
- Если посмотреть как это делается в FBD то увидим что там "связь вход-выход" выделяют в отдельную сущность. Это очень правильно, один и тот же автомат может быть использован несколько раз, в разных местах программы. На Си для этого подходит Скрипач(21 знак., 20.01.2012 10:22)
- Не, я до такого не дошел, максимум это прямая смена состояния одного автомата, от чего у меня изжога :) Vladimir Ljaschko(372 знак., 18.01.2012 23:26)
- Все isr-методы обязательно inline, никаких расходов по сравнению с прямым кодом в обработчике прерывания. - =ReAl=(19.01.2012 00:27, )
- Это два разных подхода к кодированию. 1 посылать сигналы модулю 2 вызывать модуль для сбора сигналов. ИМХО 2 метод хуже переносим. Спецификация модуля должна определять что необходимо для его работы, и если требует создания глобальных переменных и =AlexD=(327 знак., 19.01.2012 07:10)