|
Проблема с прерываниями в Xmega |
|
|
|
Jun 14 2010, 19:40
|
Группа: Участник
Сообщений: 4
Регистрация: 18-11-09
Пользователь №: 53 726

|
Добрый день уважаемые форумчане. В данный момент активно активно разбираюсь с ATXmega 128A1. Суть проблемы. По ходу выполнения программы возникает прерывание по переполнению счетчика TCC1, соответ. переход в подпрограмму обработки этого прерывания, подпрограмма выполняется, а вот выход должен быть нештатным, т.е. не по команде reti, а переход по команде rjmp. Ранее, при работе с обычными мегами, вначале выполнения программы сохранял во временном рег. адрес указателя стека, разрешал прерывание по переполению, глобал. прерывания и т.д. Перед завершением подпрограммы обработки прерывания очишал флаг прерывания по переполнению счетчика, восстанавливал бит I в SREG и затем восстанавливал адрес указателя стека в рег. SPH/SPL и выполнял команду rjmp. Теперь о проблеме с XMega. Кроме разрешения прерывания по переполнеию выставляется так же уровень в регистре TCC1_INTCTRLA (например высокий), разрешение прерывание высокого уровня в регистре PMIC_CTRL, разрешаются глобальные прерывания в SREG. при возникновении прерывания возникает флаг в регистре PMIC_STATUS. Судя по описанию биты в данном регистре очишаются только при выполнении команды reti. Не очишенный флаг в регистре PMIC_STATUS блокирует возникновение этого перывания в дальнейшем. Возможно ли обойти данную проблему?
|
|
|
|
Сообщений в этой теме
Kantik Проблема с прерываниями в Xmega Jun 14 2010, 19:40 demiurg_spb Цитата(Kantik @ Jun 14 2010, 23:40) возни... Jun 14 2010, 19:55 Kantik Цитата(demiurg_spb @ Jun 14 2010, 23:55) ... Jun 14 2010, 20:09 Duhas а выставить в прерывании флаг, а потом его обработ... Jun 14 2010, 20:30 V_G Только что решил аналогичную проблему. Без reti не... Jun 15 2010, 07:03 element Добрый день.
Аналогичная проблема возникла при ада... Sep 18 2011, 16:50 zombi Цитата(element @ Sep 18 2011, 19:50) выяс... Sep 18 2011, 20:48  _Артём_ Цитата(zombi @ Sep 18 2011, 23:48) ...
Т.... Sep 19 2011, 01:53  element Цитата(zombi @ Sep 19 2011, 00:48) ...
Т.... Sep 20 2011, 08:43 demiurg_spb Цитата(element @ Sep 18 2011, 20:50) В об... Sep 19 2011, 04:38  V_G Цитата(demiurg_spb @ Sep 19 2011, 15:38) ... Sep 20 2011, 07:17   Navovvol Цитата(V_G @ Sep 20 2011, 11:17) Что Вы и... Sep 20 2011, 07:55    ILYAUL QUOTE (Navovvol @ Sep 20 2011, 11:55) Пох... Sep 20 2011, 08:11     Navovvol Цитата(ILYAUL @ Sep 20 2011, 12:11) Вы зн... Sep 20 2011, 08:19   demiurg_spb Цитата(V_G @ Sep 20 2011, 11:17) Написали... Sep 20 2011, 08:44   demiurg_spb Цитата(V_G @ Sep 20 2011, 11:17) Ни в meg... Sep 20 2011, 08:52 Navovvol Вы где нашли таблицу векторов прерываний? всё изла... Sep 20 2011, 05:34 Палыч Цитата(Navovvol @ Sep 20 2011, 09:34) Вы ... Sep 20 2011, 05:53 Navovvol Цитата(Navovvol @ Sep 20 2011, 09:34) Вы ... Sep 20 2011, 06:27 Navovvol element, если прерывание не сбрасывает I бит, тогд... Sep 20 2011, 08:46 ReAl Цитата(Navovvol @ Sep 20 2011, 11:46) ele... Sep 20 2011, 09:26  element Цитата(ReAl @ Sep 20 2011, 13:26) Ну, нап... Sep 20 2011, 09:52   ReAl Цитата(element @ Sep 20 2011, 12:52) хотя... Sep 20 2011, 13:30 Navovvol 1. SREG не сохраняется автоматически при запросе п... Sep 20 2011, 10:37 Палыч Цитата(Navovvol @ Sep 20 2011, 14:37) 3. ... Sep 20 2011, 10:45  Navovvol Цитата(Палыч @ Sep 20 2011, 14:45) Это - ... Sep 20 2011, 11:03 element Цитата(Navovvol @ Sep 20 2011, 14:37) 1. ... Sep 20 2011, 11:06 ILYAUL Может быть проще объяснить ситуацию.
В MEGA-x для... Sep 20 2011, 11:25 _Артём_ Цитата(ILYAUL @ Sep 20 2011, 14:25) но Вы... Sep 20 2011, 11:37 Navovvol Цитата(ILYAUL @ Sep 20 2011, 15:25) Может... Sep 20 2011, 11:38 element В общем, с учётом всех советов и личного опыта сис... Sep 21 2011, 09:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|