Цитата(AHTOXA @ Apr 16 2015, 14:58)

А что делает clear_all_VD()? Гасит все светодиоды? Если так, то первые два светодиода будут гореть совсем короткое время, порядка 2 мкс. Вы смотрите осциллографом? Для наглядности я бы сделал иначе: гасил бы диоды в OS::system_timer_user_hook(), перед взводом флага. И в каждой задаче после зажигания диода вставил бы задержку глухим циклом тысяч на 100. Вот тогда будет видно.
(Замечу, что scmRTOS_PRIORITY_ORDER = 0 в кортексах работает гораздо медленнее, чем scmRTOS_PRIORITY_ORDER = 1. Так что смысла в scmRTOS_PRIORITY_ORDER = 0 нет, разве что в познавательных целях).
ЗЫ. В OS::system_timer_user_hook() Cnt у вас ни на что не влияет (не хватает скобочек).
Да, clear_all_VD() гасит все светодиоды. Порядок переключение задач я смотрел по точкам останова с помощью внутрисхемного эмулятора.
Осциллографом было бы менее наглядно.
Поставил задержки, как вы советовали. Да, стало визуально видно, но проблема осталась.
Содержимое scmRTOS_PRIORITY_ORDER не влияет на порядок переключения.