Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Пятница
16 августа
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Микроконтроллеры AVR
340258
Топик полностью
fk0
, легенда
(12.07.2012 13:19, просмотров: 144)
ответил
MegaJohn
на
каждые 20мс нужно выполнить длительную блокирующую процедуру длительностью 10мс по передаче данных. Хочу сделать красиво: в прерывании таймера переназначить стек и выполнить вытеснение основного цикла main на эту процедуру с восстановлением main.
Если там big loop, то проще допустить, что он может оборачиваться за 100мс, например. А всё требующее быстрой реакции в прерывания (от таймера в т.ч.) Если не устраивает, то делать функцию не блокирующей, методом автоматного программирования...
[ZX]
Ответить
на базе big_loop построена аля кооперативная РТОС, и нужно прервать это дело прервать, перейти на мою процедуру и потом обратно продолжнить выполнение Оси. Самое главное, нужно незамедлительно обеспечить выполнение вышеуказанной процедуры
MegaJohn
(37 знак., 12.07.2012 13:28
)