еще вопрос про 2.28а:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено pv 17 января 2004 г. 18:40
В ответ на: лучше не бывает :) во всяком случае лучше чем 3.10 и не глючная :) отправлено 0men 17 января 2004 г. 16:57

я конечно понимаю что это скорее всего из-за кривых рук, но все-таки:
есть at90s8535, есть прога (сгенеренная MakeApp'om), которая по внешнему прерыванию замеряет время по TCNT1 между двумя внешними прерываниями. (~ 1 мс)
есть TCNT2 который бежит от внешнего кварца 32768 Гц.
так вотпо переполнению TCNT2 считается частота, соответсвующая измеренному времени и отсылается через UART в комп.
теперь запихиваю все это в proteus и наблюдаю следующее:
если внешнее прерывание влазит в тот момент пока делается
MA_PutChar_UART (byte2send);
(который запихивает byte2send в буфер, и включает прерывание UART Data Register Empty, обработчик которого в свою очередь берет байт из буфера и кладет UART Data Reg)
так вот если во время всего этого влазит внешнее прерывание, то происходит "как бы ресет" т.е он прыгает на начало void main() и вся инициализвция и прочее начинается сначала, а состояние регистров, переменных не обнуляется.
что не так?

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

Ответы



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

E-mail: info@telesys.ru