[an error occurred while processing this directive]
|
по затратам производительности проца.
Ведь всякий раз, когда задача отдает управление ядру (вызовом OSTimeDly(), OSSemPost () и т.д.), ядро производит планирование - определение наиболее приоритеной задачи из готовых к выполнению. И занимает это время, измеряемое десятками микросекунд для современных МК с тактовой под 16МГц.
Нужно оценивать затраты и не плодить задачи там, где можно без них.
Например, не стоит заводить задачу, чтобы генериь сигнал на пьезике или даже только для его включения посредством передачи семафора задаче (этот грех - моего производства в начале освоения uCOS :).
Или например, не стоит драйвер управления LCD 44780 реализовывать как задачу, а вот еси у вас есть несколько экранов (пользователей LCD), то тут задача напрашивается, просто она юзает драйвер управления LCD для вывода заданного окна на экран ЖКИ.
Или еще вот. Не стоит передавать в задачу каждый принятый по UART байт, а сигнализировать ей, только когда принят валидный пакет.
E-mail: info@telesys.ru