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

 
 
> Прерывание срабатывает после старта контроллера
алексей500
сообщение Jun 9 2010, 17:01
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 22-05-10
Пользователь №: 57 445



Может кто встречался с такой проблемой. Хочу помигать диодиком по прерыванию от порта.
После загрузки программы в контроллер(AT91SAM7A3) вроде бы работает нормльно, обработчик прерывания выполняется по прерыванию. Потом отключаю питание и снова включаю. И программа остаётся висеть в прерывании. Вот куски кода:


MAIN:

CODE
int main(void)
{
AT91S_AIC * pAic=AT91C_BASE_AIC;



pAic->AIC_IDCR = 1<<AT91C_ID_PIOA;//mask ;
//* Save the interrupt handler routine pointer and the interrupt priority
pAic->AIC_SVR[AT91C_ID_PIOA] = (unsigned int) int_button1 ;
//* Store the Source Mode Register
pAic->AIC_SMR[AT91C_ID_PIOA] = AT91C_AIC_SRCTYPE_POSITIVE_EDGE | 7 ;
;
//* Clear the interrupt on the interrupt controller
pAic->AIC_ICCR = 1<<AT91C_ID_PIOA ;




// Нулевую ножку PIOB на выход

*AT91C_PIOB_PER=0x00000001;
*AT91C_PIOB_OER=0x00000001;
*AT91C_PIOB_PPUDR=0x00000001;
*AT91C_PIOB_SODR=0x00000001;




//Нулевую ножку PIOA на прерывание

*AT91C_PIOA_PPUDR=0x00000001;
*AT91C_PIOA_IER=0x00000001;





//Enable interrupt
pAic->AIC_IECR = 0x1 << AT91C_ID_PIOA ;



while(1){}



Обработчик:

Код
void int_button1()
{
  while(1){*AT91C_PIOB_SODR=0x00000001;
  *AT91C_PIOB_CODR=0x00000001;}

*AT91C_AIC_EOICR=0;
}





Я взял пример прям из IAR'а - getting-started-project.

Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Jun 21 2010, 13:47
Сообщение #2


Гуру
******

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



Что-то я слабо представляю, каким боком тут можно притянуть таблицу.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- алексей500   Прерывание срабатывает после старта контроллера   Jun 9 2010, 17:01
- - aaarrr   Для генерации прерывания тактирование PIO должно б...   Jun 9 2010, 17:38
- - алексей500   Попробовал поймать прерывание с другой ножки, тако...   Jun 9 2010, 19:05
|- - aaarrr   Цитата(алексей500 @ Jun 9 2010, 23:05) чт...   Jun 9 2010, 19:22
- - алексей500   Странным образом эффект когда обработчик прерывани...   Jun 9 2010, 20:40
|- - aaarrr   Цитата(алексей500 @ Jun 10 2010, 00:40) В...   Jun 9 2010, 20:47
- - алексей500   Хорошо, спасибо большое за помощь.   Jun 9 2010, 21:31
- - алексей500   А вот ещё такой вопрос. Если используется много но...   Jun 20 2010, 21:51
|- - rezident   Цитата(алексей500 @ Jun 21 2010, 03:51) С...   Jun 21 2010, 00:28
- - aaarrr   С этой проблемой не борются, ее просто стараются н...   Jun 20 2010, 21:57
- - алексей500   Ну, у меня пока такой проблемы нет, но может появи...   Jun 20 2010, 23:52
- - алексей500   Хм, ок, спасибо, возьму на заметку.   Jun 21 2010, 13:41


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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 15:19
Рейтинг@Mail.ru


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