[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено mse 03 апреля 2002 г. 16:45
В ответ на: Господа, ответьте на вопрос: АВР находится в 4 прерывании, а пришло первое.Перейдет он в первое( а потом назад в 4) или закончит сначала четвертое отправлено erema 03 апреля 2002 г. 16:21

Если sei, то войдёт в 1, вернётся в 4 , 3, 2, и , внимание, в 1.Если в 1 меняется какой либо счётчик типа:
lds temp,cntr
inc temp
sts cntr,temp
эта проц. должна защищаться:
cli
...proc
sei
иначе есть вероятность того, что последний возврат в 1 пох...т cntr, модифицированный 1 из 4.
разумеется, все регистры сохраняются, стек не переполняется, суммарное время всех прерываний мало - т.е. процессор не захлёбывается

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru