AVR Studio 4 не симулирует прерывания?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
kvark85
Встал на лапы
Сообщения: 108
Зарегистрирован: Сб ноя 08, 2008 21:23:06
Откуда: Харьков
Контактная информация:

AVR Studio 4 не симулирует прерывания?

Сообщение kvark85 »

Здравствуйте уважаемые коты. Подскажите пожалуйста:
контроллер ATiny2313, должно происходить прерывание таймера-счетчика по переполнению, а не происходит. Включаю так:
ldi R16,0x01 ;установка коэффициента пред деления таймера
out TCCR0,R16
ldi R16,0x02 ;разрешение прерывания таймера
out TIMSK,R16
sei ;разрешение глобальных прерываний

не становиться на вектор прерывания ну никак, может это глюк AVR Studio?
Описываю прерывания так:
.cseg ; Сегмент кода программы
.ORG $000 ; (RESET)
RJMP Reset
.ORG $001
RETI
.ORG $002
RETI
.ORG $003
RETI
.ORG $004
RETI
.ORG $005
RETI
.ORG $006
RJMP tick
;переполнение таймера (5 мс)
.ORG $007
RETI
.ORG $008
RETI
.ORG $009
RETI
.ORG $00A
RETI
.ORG $0B
RETI
.ORG $00C
RETI
.ORG $00D
RETI
.ORG $00E
RETI
.ORG $00F
RETI
.ORG $010
RETI
.ORG $011
RETI
.ORG $012
RETI
.ORG INT_VECTORS_SIZE
; Конец таблицы прерываний
P.S. Кстати, кто знает, где прописан этот INT_VECTORS_SIZE? в файле tn2313def.inc его нет? Не понимаю его назначения.
Реклама
Аватара пользователя
ValBag
Потрогал лапой паяльник
Сообщения: 326
Зарегистрирован: Сб сен 06, 2008 12:56:13

Re: AVR Studio 4 не симулирует прерывания?

Сообщение ValBag »

kvark85 писал(а):контроллер ATiny2313, должно происходить прерывание таймера-счетчика по переполнению, а не происходит.
TCCR0B
Последний раз редактировалось ValBag Вт янв 11, 2011 21:41:37, всего редактировалось 1 раз.
Реклама
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: AVR Studio 4 не симулирует прерывания?

Сообщение Engineer_Keen »

Если не ставить букву в конце TCCR0, то значение по команде OUT записывается в TCCR0B, проверил для 2313 в студии 4.17
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: AVR Studio 4 не симулирует прерывания?

Сообщение ibiza11 »

стек инициализирован?
Ставим плюсы: )
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
kvark85
Встал на лапы
Сообщения: 108
Зарегистрирован: Сб ноя 08, 2008 21:23:06
Откуда: Харьков
Контактная информация:

Re: AVR Studio 4 не симулирует прерывания?

Сообщение kvark85 »

Значит вот что у меня было. Переходил на другой микроконтроллер а в свойствах проекта забыл поменять МК. Становится на прерывание теперь, не смотря на то что я неправильно выставлял частоту предделителя она менялась правильно, то есть при изменении TCCR0 менялся TCCR0B. Это еще не все странности. Дело в том что я еще не указал начало стека и несмотря на это все работает правильно. Он у меня в "Processor" сразу после компиляции программы указывается. Так и должно быть? Нужно ли его при это в программе инициализировать?
Реклама
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: AVR Studio 4 не симулирует прерывания?

Сообщение Engineer_Keen »

Стек обязательно нужно инициализировать если в программе есть (R)CALL, PUSH, POP или прерывания. Что касается TCCR0, думаю где-то в inc-файле он просто 2 раза определен, как TCCR0 и как TCCR0B.

Ага, нашел, написано "для совместимости", очевидно имеется ввиду at90...
Реклама
Аватара пользователя
kvark85
Встал на лапы
Сообщения: 108
Зарегистрирован: Сб ноя 08, 2008 21:23:06
Откуда: Харьков
Контактная информация:

Re: AVR Studio 4 не симулирует прерывания?

Сообщение kvark85 »

Спасибо. Проблема решена
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»