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

 
 
> Периодические прерывания, Microblaze
Andrey Pesoshin
сообщение Aug 4 2010, 19:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 5-07-10
Пользователь №: 58 297



Приветствую!

Хочу генерировать периодические прерывания (например, раз в 0.1 сек) и обрабатывать их в microblaze.
Добавил в проект xps_timer (22 разряда), подключил выход Interrupt напрямую к входу Interrupt Microblaze'а минуя контроллер прерываний (так ведь можно, когда других прерываний не надо?)

Конфигурирую таймер, чтобы считал от 5 000 000 до 0, потом обновлялся и считал заново. В документации написано, что по достижению 0 должно генерироваться прерывание.

Проблема в том, что этого не происходит. Смотрю в chipscope analyzer'е.

Конфигурирую таймер следующим образом:
Код
    XTmrCtr timer;
    int status = XTmrCtr_Initialize(&timer, XPAR_TMRCTR_0_DEVICE_ID);
    xil_printf("Timer initialization: %d\n\r", status == XST_SUCCESS);

    XTmrCtr_SetResetValue(&timer, 0, 5000000);

    XTmrCtr_SetOptions(&timer, 0, XTC_INT_MODE_OPTION | XTC_DOWN_COUNT_OPTION | XTC_AUTO_RELOAD_OPTION);

    u32 start_value = XTmrCtr_GetValue(&timer, 0);
    xil_printf("Start value: %d\n\r", start_value);

    XTmrCtr_Start(&timer, 0);


Подскажите плиз
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Andrey Pesoshin
сообщение Aug 7 2010, 06:57
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 5-07-10
Пользователь №: 58 297



таймер считает, сам сигнал прерывания Interrupt, подключенный к microblaze, не генерируется по достижению таймером нуля
Go to the top of the page
 
+Quote Post



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

 


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


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