Перейти к содержанию
    

Вопрос по с6418 и CSL

Здравствуйте, не получается использовать прерывания по таймеру. Делаю вроде бы все как в гайде по CSL написано. Прерывания не возникают.

 

int TIMER_init()
{
    TIMER_Config timeconfig = {
    0x00000200, /* ctl */
      0x00010000, /* prd */
      0x00000000  /* cnt */
    };
    
TIMER_config(hTimer,&timeconfig);
    
    hTimer=TIMER_open(TIMER_DEVANY,TIMER_OPEN_RESET);
    if(hTimer!=INV)
    {
        TIMER_config(hTimer,&timeconfig);    
    }

    return 0;
}


void testIsr(Uint32 funcArg, Uint32 eventId)
{

}

void main(void) {
    
              Uint16 eventId=0;

              IRQ_Config irqconf={
        testIsr,
        0x00000000,
        IRQ_CCMASK_DEFAULT,
        IRQ_IEMASK_DEFAULT
    };
    

    CSL_init();      

    TIMER_init();    
    eventId=TIMER_getEventId(hTimer);

    IRQ_config(eventId,&irqconf);
    IRQ_map(eventId, 15);
    IRQ_clear(eventId);
    IRQ_enable(eventId);
    IRQ_globalEnable();
        

    TIMER_start(hTimer);
              while(1);    
        
    
    TIMER_close(hTimer);
    return;

}

 

Что у меня неправильно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решил проблему. Помогла мне в этом эта тема. Оказывается таблицу векторов прерываний надо прописывать руками. Зачем тогда в CSL при конфигурировании прерывания нужно указывать функцию-обработчик?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...