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

 
 
> delay in 10-100mks on SAM7
tokauchusya
сообщение Jun 23 2009, 21:54
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 23-06-09
Пользователь №: 50 584



Люди добрые помогите разобраться с TimerTC от SAM7.
Мне нежно реализовать на TimerTC задержку от 10-100 микросекунд, а я не пойму как там выставляются задержки. Объясните пожалуйста.

Код
void timer0_isr (void)
{
  ***
  // мигнуть диодом
}

char InitTimer()
{  
  AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_TC0;// Enable Clock for TIM0
  AT91C_BASE_TC0->TC_CCR    = AT91C_TC_CLKEN | AT91C_TC_SWTRG;
  AT91C_BASE_TC0->TC_CMR    = 2 | AT91C_TC_CPCTRG;
  AT91C_BASE_TC0->TC_RC     = 0x0E; // ??

  // TIM0 Interrupt: Mode and Vector with Lowest Priority and Enable
  AT91C_BASE_AIC->AIC_SMR[AT91C_ID_TC0] = AT91C_AIC_SRCTYPE_INT_POSITIVE_EDGE | AT91C_AIC_PRIOR_HIGHEST;
  AT91C_BASE_AIC->AIC_SVR[AT91C_ID_TC0] = (unsigned long) timer0_isr;
  AT91C_BASE_AIC->AIC_IECR = (1 << AT91C_ID_TC0);
  AT91C_BASE_TC0->TC_IER    = AT91C_TC_CPCS;

  return 1;
}


Здесь я пытаюсь получить 10 микросекунд, но это на самом деле не так. Что именно не так объясните. Как высчитывается коэффициент?
Go to the top of the page
 
+Quote Post



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

 


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


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