roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 09:24

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: AVR: Сколько тактов занимает обработка прерывания?
СообщениеДобавлено: 01 мар 2007, 17:37 
Не в сети

Зарегистрирован: 30 авг 2006, 14:00
Сообщения: 73
Откуда: Клайпеда, Литва
Ситуация такая- в симуляторе BascomAVR вход и выход из прерывания занимает 100-120 тактов процессора. Загрузил .OBJ файл в AVRstudio симулятор- те же самые 100-120 тактов. При 10Mhz  задержка в 5 микросекунд выглядит  трагично. Пробовал самые простейшие программы и компилировал для различных чипов- ничего не изменяется.....

Варианты (у меня) такие:
1. Я что-то делаю неправильно.
2. Компилятор BascomAVR что-то делает неправильно.
3. Все так и должно быть.

Подскажите пожалуйста, где собака зарыта??


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 мар 2007, 17:44 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
Ты имеешь ввиду, что твоя подпрограмма выполняемая по прерыванию выполняется 100 тактов?
А вообще прерывания на русском описаны в книге Микроконтроллеры AVR семейств Tiny и Mega... страница 68 последний абзац, перепечатывать много, поэтому мне лень.
если религия не позволяет ее купить, ищи отсканированную.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 мар 2007, 18:04 
Не в сети
Аватара пользователя

Зарегистрирован: 28 мар 2006, 17:28
Сообщения: 486
Откуда: Пенза
чтобы не быть голословным выложи сюда текст программы или кусок: "подпрограмма обработчик прерывания"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 мар 2007, 18:29 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
ну да вполне нормально если в прерывании чтото есть
а вобще можно почитать в книжке скока тратиться чисто на вход и выход


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 мар 2007, 20:19 
Не в сети

Зарегистрирован: 30 авг 2006, 14:00
Сообщения: 73
Откуда: Клайпеда, Литва
$regfile = "2313def.dat"
$crystal = 10000000


Config Int0 = Falling
On Int0 Re
Enable Int0
Enable Interrupts

Do
nop
Loop

End

Re:
nop
Return

:D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 мар 2007, 20:39 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Согласно  avr123.nm.ru/03.htm  "прерывания в AVR"  и даташиту переход на вектор прерывания должен занимать не менее 4-х тактов (я на память говорю).

+ время на начало выполнения функции обработчика прерывания такое же как время перехода на любую функцию программы которое зависит от того как на АСМе это делает компилятор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 мар 2007, 21:11 
Не в сети

Зарегистрирован: 30 авг 2006, 14:00
Сообщения: 73
Откуда: Клайпеда, Литва
но не 60 же тактов   на вход и 60 на выход из прерывания....

:durak:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 мар 2007, 23:27 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
я ж пишу - от того как это реализовано.  Откройте пример с прерыванием и наверно можно в БАСКОМе увидеть асм - посмотрите как он делает прерывание.  

Пошагайте по АСМу в VMLAB (avr123.nm.ru/z3.htm) и посчитайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 мар 2007, 02:32 
Не в сети

Зарегистрирован: 30 авг 2006, 14:00
Сообщения: 73
Откуда: Клайпеда, Литва
спасибо за совет.

я конечно разберусь, просто думал может кто в симуляторах примечал такой момент. потому и спросил по быстрому.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 мар 2007, 10:30 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
вы подозревали что симулятор от себя симулирует лишние такты? :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO