Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Понедельник
25 ноября
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Микроконтроллеры AVR
270535
Топик полностью
mazur
(07.09.2011 09:56, просмотров: 557)
ответил
fk0
на
switch/case и переменная состояния. Ближе к сотне скорей, точно посчитать сложно. А что поделать, какие альтернативы? Да, притормаживает в цикле, каждый раз дурную работу switch(S) делать. Есть проблемы с приоритетами (для этого, критичное, в
По поводу:
Да, притормаживает в цикле, каждый раз дурную работу switch(S) делать.
Если много состояний зачем SWITCH, почему не по индексу переменной состояния?
Ответить
Потому, что: 1) это мало что поменяет -- в каждом состоянии ещё условия проверяются. Ну даст экономию 20% -- легче? 2) Такой код трудно воспринимать и легко ошибиться. 3) контроллеры профессионального уровня (PIC) не имеют аппаратного стека и
fk0
(297 знак., 07.09.2011 11:13
)
По п.3 я имел ввиду подход, когда каждое состояние кодируется отдельной функцией (для проверки условий перехода), вызваемой по-указателю. "По индексу переменной состояния" -- эту оптимизацию компилятор умеет делать автоматически, для оператора
fk0
(216 знак., 07.09.2011 11:17
)