[an error occurred while processing this directive]
Глюки таймера в модели VisualDSP++(+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Wukrly 19 августа 2004 г. 14:59

версия 3.5, процессор ADSP2196
Программирую таймер на генерацию широтно-импульсного сигнала, кроме того, пользуюсь прерыванием от него. Модель постоянно отрабатывает только первый такт (period - impuls). Время между прерываниями определяется разницей этих величин минус 1. Сталкивался ли кто с таким эффектом?
Настройка:
//setting TIMER2
ay1 = 1 | 4 | 8 | 0x10;
//TMODE 1 1-0p - PWM_OUT mode
//PULSE_HI 4 2p - positive impulse
//PERIOD_CNT 8 3p - period count
//IRQ_ENA 0x10 4p - enable interrupt
//TIN_SEL 0x20 5p - tiner input selection
IO(T_CFGR2) = ay1;
ay1 = 0; IO(T_PRDH2) = ay1; //set period
ay1 = 40; IO(T_PRDL2) = ay1; //3,648 MHz
ay1 = 0; IO(T_WHR2) = ay1; //set impuls
ay1 = 20; IO(T_WLR2) = ay1;

ay1 = 4 | 0x1000; // start T2 and reset IRQ
IO(T_GSR2) = ay1;
обработка прерывания:
.section/code IVint4;
V4_proba:
ENA SEC_REG, ENA SEC_DAG;
se = IOPG;
IOPG = Timer_Page; // 0x5
IO(T_GSR2) = si; // reset timer2 interrupt
rti(db);
IOPG = se;
nop;
V4_proba.end:



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru