Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Суббота
23 ноября
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Микроконтроллеры AVR
472336
Топик полностью
zeleny
(10.12.2013 03:12, просмотров: 218)
ответил
fk0
на
И главный вопрос тут: и зачем? Если в switch-технологии те же самые условия точно также записываются, но один раз (PT_WAIT... просто не записывается, т.к. не нужен).
напр.можно так:
static volatile u8 flag=1; while (flag) { if (cond1) { ........... flag = 0; } if (cond2) { ........... flag = 0; } PT_YIELD(pt); }
Ответить
Вот я и говорю. Закат солнца вручную. А теперь задумайся, что цикл while должен непрерывно, и с бешенной скоростью исполняться и жрать батарейку (или он будет ограничивать время реакции системы). А наберётся таких циклов много: время реакции в
fk0
(228 знак., 10.12.2013 10:04
)
в 1х - не непрерывно - там есть PT_YIELD, во 2х никакого особого замедления нет - вход в задачу и проверка условия занимает макс.несколько мкс. Автомат действует абсолютно так же. В реальных проектах обычно параллельно работает не более 10..15
zeleny
(371 знак., 10.12.2013 12:32 - 12:35
)