реклама на сайте
подробности

 
 
> Проблемы с таймером в AT91SAM7S64
Artem
сообщение Feb 26 2006, 05:53
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 4-02-05
Пользователь №: 2 424



Не получается работать с таймерами в AT91SAM7S64. Точнее с прерываниями от таймеров. Дело вот в чём: Инициализируем таймеры на прерывание при совпадении, запускаем.. При первом совпадении, прерывание происходит, в обработчике делаю: dummy = TC_pt->TC_SR;, всё вроде становится в исходный режим, таймер сбрасывается и продолжает считать, но при совпадении, флаг CPCS устанавливается, но прерывания не происходит.. Почему так?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Feb 26 2006, 21:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Feb 26 2006, 23:43) *
А зачем вложенные прерывания делать?! Специально чтобы работало неправильно?


Можно подумать, будто использование вложенных прерываний на ARM
кто-то объявил вне закона smile.gif
Встречный вопрос: поясните, почему неправильно?
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 27 2006, 02:41
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Feb 26 2006, 23:50) *
Цитата(defunct @ Feb 26 2006, 23:43) *

А зачем вложенные прерывания делать?! Специально чтобы работало неправильно?


Можно подумать, будто использование вложенных прерываний на ARM
кто-то объявил вне закона smile.gif
Встречный вопрос: поясните, почему неправильно?

я не говорю, что неправильно (в постах выше было сказано, что работает неправильно - затыкается таймер). Использование вложенных прерываний значительно усложняет структуру программы, и требует особой внимательности при проектировании программы. Любая неточность при проектировании может привести к тому, что устройство, выполнение обработчика прерывания которого было отложено на случайной команде, может сгенерировать уже следующее прерывание. А это следующее прерывание может потребовать совсем иной обработки, а вернувшись назад к отложенному обработчику мы это учесть не сможем. Собственно, что похоже и имеет место у уважаемого Master 'a:
Цитата
У меня так же перестают отрабатывать прерывания через некоторое время после запуска.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Artem   Проблемы с таймером в AT91SAM7S64   Feb 26 2006, 05:53
- - aaarrr   Проверьте в листинге, действительно ли происходит ...   Feb 26 2006, 09:55
- - Master   Цитата(Artem @ Feb 26 2006, 08:53) Не пол...   Feb 26 2006, 16:23
- - DASM   народ, а нафига вы разрешаете прерывания до выхода...   Feb 26 2006, 16:28
- - aaarrr   Как зачем? А как иначе вложенные прерывания делать...   Feb 26 2006, 16:33
|- - defunct   Цитата(aaarrr @ Feb 26 2006, 18:33) Как з...   Feb 26 2006, 20:43
- - DASM   да, только по-моему вложенные не нужны тут были..   Feb 26 2006, 16:35
|- - Master   Цитата(defunct @ Feb 27 2006, 05:41) я не...   Feb 27 2006, 10:02
|- - defunct   Цитата(Master @ Feb 27 2006, 12:02) Цитат...   Feb 27 2006, 11:33
- - aaarrr   Цитата(defunct @ Feb 27 2006, 14:33) Вы у...   Feb 27 2006, 13:55
|- - defunct   Цитата(aaarrr @ Feb 27 2006, 15:55) Утвер...   Feb 28 2006, 01:59
- - aaarrr   Цитата(defunct @ Feb 28 2006, 04:59) Даже...   Feb 28 2006, 02:51
|- - defunct   Цитата(aaarrr @ Feb 28 2006, 04:51) Не по...   Feb 28 2006, 05:08
- - Artem   Не понял, что имеется в виду - запись в AIC_EOICR ...   Feb 28 2006, 05:06
- - Artem   проблема то может и "прозрачная", но я т...   Feb 28 2006, 05:23
- - aaarrr   Цитата(defunct @ Feb 28 2006, 08:08) Имее...   Feb 28 2006, 08:29


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 10:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01369 секунд с 7
ELECTRONIX ©2004-2016