Если кто то писал в IAR 4.41 помогите!
Не могу вызвать прерывание таймера ... вроде бы все делаю правильно.
Инизиализирую таймер:
AT91C_BASE_AIC->AIC_IDCR = 0xFFFFFFFF ; /* reset the aic, disable all interrupts */
AT91C_BASE_AIC->AIC_ICCR = 0xFFFFFFFF ; /* clear all interrupts */
AT91C_BASE_AIC->AIC_EOICR = 0 ; /* unstack one level */
AT91C_BASE_PMC->PMC_PCER |= ( 1UL<<AT91C_ID_TC0 ) ; /* enable tc0 */
AT91C_BASE_AIC->AIC_IDCR |= ( 1UL<<AT91C_ID_TC0 ) ; /* disable pio interrupt */
AT91C_BASE_AIC->AIC_SVR[AT91C_ID_TC0] = ( AT91_REG )timer0_c_irq_handler; /* set isr */
//* Open timer0
AT91F_TC_Open(AT91C_BASE_TC0,5,AT91C_ID_TC0);
//* Start timer0
AT91C_BASE_TC0->TC_CCR |= AT91C_TC_SWTRG ;
AT91C_BASE_AIC->AIC_SMR[AT91C_ID_TC0] = ( AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE )|( 1/* prio 1*/ ) ;
AT91C_BASE_AIC->AIC_ICCR |= ( 1UL<<AT91C_ID_TC0) ; /* clear pio interrupt */
AT91C_BASE_AIC->AIC_IECR |= ( 1UL<<AT91C_ID_TC0 ) ; /* enable pio interrupt */
__enable_interrupt( ) ;
AT91C_BASE_TC0->TC_IER |= AT91C_TC_CPCS | AT91C_TC_COVFS | AT91C_TC_LOVRS; // IRQ enable CPC
AT91F_TC_Open
void AT91F_TC_Open ( AT91PS_TC TC_pt, unsigned int Mode, unsigned int TimerId)
//* Begin
{
unsigned int dummy;
//* First, enable the clock of the TIMER
AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1<< TimerId ) ;
//* Disable the clock and the interrupts
TC_pt->TC_CCR = AT91C_TC_CLKDIS ;
TC_pt->TC_IDR = 0xFFFFFFFF ;
//* Clear status bit
dummy = TC_pt->TC_SR;
//* Suppress warning variable "dummy" was set but never used
dummy = dummy;
//* Set the Mode of the Timer Counter
TC_pt->TC_CMR = Mode ;
// TC_pt->TC_RC =60000;
//* Enable the clock
TC_pt->TC_CCR |= (AT91C_TC_CLKEN) ;
//* End
};
Сам обработчик
static __arm __irq void timer0_c_irq_handler(void)
{
AT91PS_TC TC_pt = AT91C_BASE_TC0;
unsigned int dummy;
//* Acknowledge interrupt status
dummy = TC_pt->TC_SR;
//* Suppress warning variable "dummy" was set but never used
dummy = dummy;
count_timer0_interrupt++;
AT91C_BASE_AIC->AIC_EOICR = 0 ; /* end interrupt */
};
Может где то ошибка?
Если у кого есть примеры для Аргусовтовской платы скиньте пожалуйста.