Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
сколько тактов процессора проходит с момента возникновения прерывания до выполнения первой команды обработчика в WinAVR?
Отправлено
grigoriy
23 марта 2007 г. 15:52
Составить ответ
|
Вернуться на конференцию
Ответы
Ответ есть в дш на контроллер. а вот ваш код начнет выполняться еще через 20-30 тактов, после выполнения сохранения регистров.
—
pau62
(23.03.2007 16:50:28
88.86.64.165
,
пустое
)
Извиняюсь за некорректный вопрос (+)
—
grigoriy
(23.03.2007 16:32:50
212.57.172.184
, 190 байт)
Таймером однозначно - автозапуск в AVR сильно кривой и глючный, прочитай в ДШ про все его нюансы - сразу расхочется
—
=AVR=
(23.03.2007 16:48:25
80.92.96.19
,
пустое
)
спасибо, с автозапуском уже наигрался:)
—
grigoriy
(23.03.2007 16:59:27
212.57.172.169
,
пустое
)
Можно по таймеру (кстати, тут SREG скорее всего, сохранять НЕ НУЖНО), но вам, наверное лучше подойдёт режим АЦП - "автозапуск".
—
Юрий_СВ
(23.03.2007 16:41:8
91.124.108.186
,
пустое
)
Как раз тот случай, когда пролог 0 тактов. /// AVR - Трава ещё нужна ? :) или уже попустило ? :)
—
Юрий_СВ
(23.03.2007 16:43:9
91.124.108.186
,
пустое
)
Спасибо, отмазка про пролог не прокатила. Неправильная у тебя трава
—
=AVR=
(23.03.2007 16:45:42
80.92.96.19
,
пустое
)
Зачем мне отмазки - спрашивали про WinAVR. Это компилятор. От компилятора зависит ТОЛЬКО пролог в обработчике. Так что, извините - это Вы неправы. Обработчик запуска АЦП состоит ровно из 2 команд. sbi и reti. Без сохранения SREG !
—
Юрий_СВ
(23.03.2007 16:52:18
91.124.108.186
,
пустое
)
До этих команд есчо дожыть надо. Вот об это и вопрос.
—
-mse-
(23.03.2007 17:11:52
83.239.86.98
,
пустое
)
А сначала еще придется дожить до притягивания за уши термина "команда" применительно к Си :))
—
=AVR=
(23.03.2007 17:20:6
80.92.96.19
,
пустое
)
Например #asm далее идут asm-команды применительно в среде допустимой мнемоники си и завершаем это всё директивой #endasm.
—
ups
(23.03.2007 19:03:34
89.113.48.3
,
пустое
)
Правда? Ну что б я без тебя делал, ой ты гей еси, добрый молодец!
—
=AVR=
(23.03.2007 20:36:53
80.92.96.19
,
пустое
)
Ну так делай! :) За чем же дело, гой ети, ВСТАЛО, ? :)
—
ups
(23.03.2007 22:55:55
89.113.48.3
,
пустое
)
Учу песателей четать - дорого, больно, с гарантией. Прочитать вслух 100 раз исходный вопрос - СКОЛЬКО ТАКТОВ ПРОЦЕССОРА ПРОХОДИТ С МОМЕНТА ВОЗНИКНОВЕНИЯ ПРЕРЫВАНИЯ ДО ВЫПОЛНЕНИЯ ПЕРВОЙ КОМАНДЫ ОБРАБОТЧИКА, затем убить сибя апстену. Раз-два, начали!
—
=AVR=
(23.03.2007 16:59:31
80.92.96.19
,
пустое
)
До конца читать умеете ? """"в WinAVR?""""
—
Юрий_СВ
(23.03.2007 17:02:55
91.124.108.186
,
пустое
)
Умею, поэтому тебя и учу тому же - некоторым помогло
—
=AVR=
(23.03.2007 17:05:41
80.92.96.19
,
пустое
)
т.е выполнение арифметики в обработчике может вызвать глюки в программе ?
—
grigoriy
(23.03.2007 16:57:39
212.57.172.169
,
пустое
)
если ты не мешал копилеру создать код , сохраняюший и восстанавливающий регистры и обработчик не затянул по времени, то все нормально будет. Дяди прикалываются.
—
pau62
(23.03.2007 18:10:9
212.26.238.1
,
пустое
)
Распространенное заблуждение. Бывает, достаточно индексирование массива в прерывание вставить, и хана.
—
Vladimir Ljaschko
(23.03.2007 18:36:58
194.158.204.49
,
пустое
)
еще дядя прикалывается. Но как-то не смешно.
—
pau62
(23.03.2007 18:42:30
212.26.238.217
,
пустое
)
А чем вызвано такое занудливое упорство? Длительность прерывания может превысить интервал между запросами?
—
Vladimir Ljaschko
(23.03.2007 19:09:29
194.158.204.49
,
пустое
)
А чем вызвано маньяческое желание компостировать мозги начинающему? Выше сказано -"и обработчик не затянул по времени". Обратись чтоль к =АВР= - у, чтоб он тебя тоже читать поучил.
—
pau62
(23.03.2007 19:38:15
212.26.243.155
, 232 байт)
1) А пусть боятся! 2) Такое впечатление, что это не технический форум, а медицинско-педагогический. Всех учат и лечат :-)
—
Vladimir Ljaschko
(23.03.2007 20:10:59
194.158.204.49
,
пустое
)
Ну так тяпница....
—
pau62
(23.03.2007 20:30:30
212.26.247.211
,
пустое
)
Запросто. ;О) Особенно, если арифметика получилась дли-и-и-инная и до-о-о-олгая. И столкнулись два последовательных прерывания. Или есчо кто...
—
-mse-
(23.03.2007 17:13:39
83.239.86.98
,
пустое
)
Ваш вопрос не корректен. Зависит от того как вы опишете процедуру прерывания. Н-р можно поросить не сохранять регистры (для простых и коротких прерываний). Практически, начиная от 1 такта и более
—
Юрий_СВ
(23.03.2007 16:18:48
91.124.108.186
,
пустое
)
Переход вряд ли съест меньше двух тактов
—
amateur
(23.03.2007 16:23:56
80.64.99.60
,
пустое
)
Насколько я понимаю, автор спрашивает про пролог в процедуре прерывания. Так вот - он не обязателен. (естественно от аппаратных 4-х тактов перехода и сохранения обратного адреса никуда не деться)
—
Юрий_СВ
(23.03.2007 16:32:18
91.124.108.186
,
пустое
)
Даже если и про пролог, то всяко ответ "от 1 такта" неточен
—
amateur
(23.03.2007 18:03:44
80.64.99.60
,
пустое
)
Самое главное попросить не сохранять SREG чтоб программа хорошо работала. Тяпница а мы о МК:-)
—
PeterD
(23.03.2007 16:22:24
83.69.107.179
,
пустое
)
В коротких прерываниях SREG нужно сохранять НЕ всегда
—
Юрий_СВ
(23.03.2007 16:36:43
91.124.108.186
,
пустое
)
Лучше запретить прерывания, как это сделали во многих цивилизованных странах
—
=AVR=
(23.03.2007 16:25:32
80.92.96.19
,
пустое
)
Правда, здравая мысль. Во всяком случае сократить количество. До одного системного таймера! Тик-тик-тик...
—
Vladimir Ljaschko
(23.03.2007 16:51:31
194.158.204.49
,
пустое
)
Законодательно ? :)
—
Юрий_СВ
(23.03.2007 16:27:36
91.124.108.186
,
пустое
)
Нет, устным, но обязательным распоряжением по аффтарскому цеху
—
=AVR=
(23.03.2007 16:30:1
80.92.96.19
,
пустое
)
Точнее - от 0 тактов !
—
Юрий_СВ
(23.03.2007 16:21:34
91.124.108.186
,
пустое
)
И хрен с ним, с адресом возврата!
—
Quasy
(23.03.2007 16:25:14
80.243.9.34
,
пустое
)
Отсыпь травки, аффтар!
—
=AVR=
(23.03.2007 16:24:21
80.92.96.19
,
пустое
)
а чо ? Нефик из прерывания выходить ваще... флаги то ставиться будут, а входить никуда не надо... очень здраво я бы сказал и современно
—
DASM
(23.03.2007 16:42:23
212.58.192.14
,
пустое
)
Правильно. Из забоя - в запой, из запоя - в забой, и так всю жизнь. Романтика!
—
=AVR=
(23.03.2007 16:50:10
80.92.96.19
,
пустое
)
Трудно конечно, но я бы и от пролога отказался. Копошиться в теле аки черфь :)
—
Quasy
(23.03.2007 16:50:1
80.243.9.34
,
пустое
)
Я именно об этом и говорю :__attribute__ ((naked))
—
Юрий_СВ
(23.03.2007 16:54:46
91.124.108.186
,
пустое
)
А при чем тут WinAVR? Это от камня зависит и от выполняемых в момент прерывания задач.
—
GDI
(23.03.2007 16:00:49
85.25.148.242
,
пустое
)
734
—
=AVR=
(23.03.2007 15:53:30
80.92.96.19
,
пустое
)
А что он делает все это время?
—
grigoriy
(23.03.2007 15:57:16
212.57.172.237
,
пустое
)
Курит голанскую травку :-)
—
PeterD
(23.03.2007 16:00:35
83.69.107.179
,
пустое
)
Это на внутреннем RC генераторе 734
—
Quasy
(23.03.2007 15:56:45
80.243.9.34
,
пустое
)
И при температуре +25С
—
=AVR=
(23.03.2007 16:01:32
80.92.96.19
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 3 в два раза:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru