Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как немедленно вызвать прерывание?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
coolibin
Интереcует как вызвать прерывание от таймера не дожидаясь выполнения условия прерывания? и возможно ли такое? пока я просто завожу его на короткое время, а потом при срабатывании прерывания перезавожу на необходимое
aaarrr
Если "не дожидаясь условий", то можно только сконфигурировать прерывание таймера на работу по фронту и взвести его записью в AIC_ISCR.

Но лучше скажите, для чего это понадобилось, ибо похоже на попытку решить задачу через известное место.
coolibin
По прерыванию от таймера отсылаются импульсы, первый импульс не должен иметь задержки. Эту задачу можно решить на уровне языка программирования, но я думал, если есть возможность немедленного вызова, то почему бы ею не воспользоватся
tazik
Цитата(coolibin @ May 27 2009, 19:41) *
По прерыванию от таймера отсылаются импульсы, первый импульс не должен иметь задержки. Эту задачу можно решить на уровне языка программирования, но я думал, если есть возможность немедленного вызова, то почему бы ею не воспользоватся


Извините, что лезу в "калашный ряд", но по крайней мере в АВРах можно "вручную" установить флаг прерывания.
Что-то вроде: установить_бит(регистр_флагов_прерываний,флаг_прерывания)

В ARM так нельзя?
aaarrr
Цитата(tazik @ May 27 2009, 15:49) *
В ARM так нельзя?

ARM ARM'у рознь. Способ для AT91 я указал, но он кривой.
defunct
Цитата(coolibin @ May 27 2009, 14:41) *
первый импульс не должен иметь задержки.

Перед инициализацией таймера или сразу после нее, вызовите обработчик прерывания таймера вручную.
Вмысле прямо в коде
...
Timer_ISR();

Цитата
Как немедленно вызвать прерывание?

также как и любую другую функцию
aaarrr
Цитата(defunct @ May 28 2009, 13:47) *
Вмысле прямо в коде
...
Timer_ISR();

Если только он не __irq Timer_ISR();
DpInRock
Вот ё. Да просто выполните нужный код. Без всяких заморочек. Чего экономим?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.