Цитата(AlexandrY @ Mar 9 2008, 13:06)

Что-то у вас совсем там плохо.
На атмеге в нормальной RTOS все время переключения контекста занимает не более 640 тактов.
У меня переключение контекста (точнее смена текущего running-потока) занимает для самых "тяжеловесных" потоков порядка 150-ти тактов
Цитата(AlexandrY @ Mar 9 2008, 13:06)

А выполнение ISR по системному тику и того меньше.
Это зависит от того, что нужно делать в обработчике. Если только обслужить датчик реального времени, то тогда да..
Цитата(AlexandrY @ Mar 9 2008, 13:06)

Один сигнал можно посадить на Input Capture Unit, т.е. прецизионно отслеживать вообще без всякого полинга. Остальные посадить на прерывания от Compatre Unit, т.е. делать полинг хоть каждые 10 мкс. (и джитер доли мкс. )
Я же говорю, железо уже готово и MCU = ATmega8515. Таймер T1 используется для ШИМ-а, а T0 как системный таймер. Больше таймеров нет.
Цитата(AlexandrY @ Mar 9 2008, 13:06)

А ISR обслуживания RTOS ..
Что за "зверь" такой? Никогда не слышал о нём
Цитата(AlexandrY @ Mar 9 2008, 13:06)

Что-то у вас совсем там плохо.
Цитата(AlexandrY @ Mar 9 2008, 13:06)

в нормальной RTOS ...
Цитата(AlexandrY @ Mar 9 2008, 13:06)

Только не надо аппелировать к вашим терминам "микропоток", "системный таймер" и т.д. Этими понятиями обозначают обычно нечто иное чего не может быть в атмеге.
Давайте только поменьше негатива.. Может у меня и "НЕНОРМАЛЬНАЯ" (по Вашим понятиям) RTOS, давайте всё же больше говорить по существу, а эмоции оставим в стороне
P.S. Вернёмся всё же к "нашим баранам": как обеспечить малый джиттер таймера T0 в ATmega8515 если его прерывание имеет аж 13(!!!) приоритет (считая что 0 - это самый высокий приоритет)
Цитата(AlexandrY @ Mar 9 2008, 13:06)

Один сигнал можно посадить на Input Capture Unit, т.е. прецизионно отслеживать вообще без всякого полинга.
Ага... Можно... А как же тот факт, что преывания INT0 и INT1 в ATmega8515 имеют более высокий приоритет , чем TIMER1CAPT? Т.е. вектор TIMER1CAPT стоит на 3-м месте после векторов INT0 и INT1..
А как Вы сделаете это на ATmega128
у которой вектор TIMER1CAPT стоит вообще на 11-м месте ?
Сообщение отредактировал Дон Амброзио - Mar 9 2008, 11:53