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

 
 
> AT91SAM7S64 Real Time Clock, проблем с перервание
Nikola Kirov
сообщение Jan 6 2006, 20:30
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 4-11-04
Из: Болгария
Пользователь №: 1 050



Полдня убил на експериментов и так не успел сконфигурироват перервание из него. В документации что то пропустили написат.

Помогите с example или обясните step-by-step как сконфигурироват.
Буду очен признателен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
VladislavS
сообщение Jan 7 2006, 09:12
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



На AT91RM9200 это вынлядит так. Думаю все основные моменты на AT91SAM7S64 будут теми же.
Код
  //Настройка AIC
  AIC_IDCR=0xFFFFFFFF; //Запретим все прерывания
  for(unsigned int i=0; i<8; i++) AIC_EOICR=0;  
  AIC_IECR=(1<<1); //Разрешим прерывания Source 1
  ST_IER=(1<<2);  //Разрешить прерывания RTTINC
  AIC_SVR1=(int) &Interrupt_Source1;    
  __enable_interrupt();
  

void Interrupt_Source1(void)
{
  int st_sr=ST_SR;
  if(st_sr&0x00000004)
  { //Прерывание RTC (1 раз в секунду)
  
  }
}
  
  
#pragma vector=0x18
__irq __arm void interrupt_handler(void)
{
  void (*interrupt_task)();
  unsigned int vector;
  vector = AIC_IVR; // Get interrupt vector.
  interrupt_task = (void(*)())vector;
  AIC_IVR = 0; // Acknowledge interrupt in VIC.
  (*interrupt_task)(); // Execute the task associated with this interrupt.
  AIC_EOICR=0;
  return;
}
Go to the top of the page
 
+Quote Post

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

 


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


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