![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| Балабол |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
Ситуация, на мой взгляд, требует обсуждения. В качестве исполнения лабораторных работ мне потребовалось написать программы в которых требуется прерывание по переполнению таймера. Ознакомился с этими материалами, нашел описание прерываний по переполнению как ISR(TIMERx_OVF_vect) и позаимствовал свои же прерывания по переполнению, исполненные на ассемблере в 16-разрядных регистрах, переписав и х с ассемблера на C. В результате получилось, что на контроллерах ничего не работает, а во время отладки в прерывание по переполнению можно попасть только тогда, когда перед бесконечным циклом принудительно во время инициализации параметров вбита макроконструкция
Тогда в отладчике если переставить таймер счетчик вручную на 0xffff происходит переход в состояние прерывание. Пример придумать не сложно, на данном этапе я на стадии переписывания таймеров в компараторы, но исходник скину с другого компа. |
|||
|
||||
| Mazzi |
|
|||
|
Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Если я правильно понял, у тебя контроллер не входит в прерывание по переполнению таймера?
Попробуй 1) проверь запущен ли таймер 2) разрешено ли прерывание по переполнению этого таймера 3) посмотри какой выбран источник импульсов для таймера 4) разрешены ли общие прерывания 5) не перезагружается ли таймер новым значением до того, как переполнится добавь в код прерывания зажигание светодиодика, так ты узнаешь происходит ли оно. Если вопрос не решён, пиши. Можешь выложить код. -------------------- Мне нужны помощники. |
|||
|
||||
| UniBomb |
|
|||
|
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 9 Всего: 97 |
При старте программы флаг I регистра SREG сброшен, т.е. запрещены все прерывания. Посему таймер и не срабатывает. Посему заготовка программы должна выглядеть по типу такого:
|
|||
|
||||
| Балабол |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
Кот запустил. Зачем-то потребовалось активировать бит перехода в регистре TIFR. Но это я говорю о случае использования компараторов.
Mazzi, Насчет пунктов 1,2 и 4 я все проверил ещё до первого поста в тему. Предделитель у меня стоит на 5, таймер синхронный, то есть источником таковых импульсов должен быть процессор в режиме 4 Мгц. Насчет пункта 5 дебаггер ничего не вскрыл. Возможно, но как проверить? |
|||
|
||||
| Mazzi |
|
|||
|
Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Покажи код.
-------------------- Мне нужны помощники. |
|||
|
||||
| fresh2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
Господа, есть ли у кого примеры использования прерывания по переполнению таймера в atmega128 (на С)?
|
|||
|
||||
| ОВиталий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
это для atMeaga 8, но думаю и 128 подойдет:
Это сообщение отредактировал(а) ОВиталий - 13.5.2009, 22:22 |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 8 Всего: 99 |
ОВиталий, форматируйте пожалуйста нормально свой код, чтобы его было проще воспринимать. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| fresh2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
О спасибо
|
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |