AVR Длительный код из прерывания таймера

У меня есть код, который нужно запускать каждые 2 минуты, что кажется достаточно простым. Проблема заключается в том, что запуск длительного процесса из таймера приводит к тому, что таймеры шатаются? какие-либо предложения.

Мои знания C не так велики, поэтому помогите мне с некоторыми основными идеями. MCU представляет собой Atmel Mega128L.

Долгий процесс — это http-вызов через GSM-устройство Telit (через UART1), он прекрасно работает сам по себе, но его необходимо запускать вне основного цикла, поскольку ему необходимо контролировать другие процессы.


person Jan de Jager    schedule 12.09.2010    source источник


Ответы (1)


Мне сказали установить флаг в прерывании и выполнить эти длительные задания из основной процедуры, которая постоянно проверяет наличие флага, цикл задачи.

person lImbus    schedule 12.09.2010
comment
проблема в том, что основной цикл ожидает символа uart и не будет запускаться, чтобы проверить длительный процесс. постараюсь реализовать это в любом случае. тх. - person Jan de Jager; 12.09.2010
comment
вы не можете получить ожидание символа uart в другое прерывание? - person lImbus; 13.09.2010
comment
Вот о чем я вчера подумал, сегодня попробую. Спасибо! - person Jan de Jager; 13.09.2010