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

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

Отправлено andy_P 25 мая 2006 г. 14:47
В ответ на: Ответ: отправлено <font color=gray>KPAH</font> 25 мая 2006 г. 13:40

Залинковали сам на себя зря - надо бы битик 1 в регистре OPT сбросить или залинковаться на заполненный нулями paRAM entry (в этом случае конфигурация канала обнулится по окончании трансфера)

На счет прерываний - вот простой примерчик (за базар полностью не отвечаю, но вроде бы так :-)):

//если нужны прерывания от канала...
extern "C" void my_handler(Uint32 arg, Uint32 eventId);
//разрешаем прерывания и цепляем EDMA Dispatcher
IRQ_reset(IRQ_EVT_EDMAINT);
IRQ_configArgs(IRQ_EVT_EDMAINT, (void *)&EDMA_intDispatcher,
0, IRQ_CCMASK_DEFAULT, IRQ_IEMASK_DEFAULT);
IRQ_enable(IRQ_EVT_EDMAINT);
//запрашиваем TCC у CSL
int tcc=EDMA_intAlloc(-1);
EDMA_intClear(tcc);
EDMA_intHook(tcc,&my_handler);
EDMA_intEnable(tcc);
//здесь ставим полученный tcc в opt.tcc, разрешаем прерывание
//от TCC (1 в opt.tccint), конигурим EDMA и заряжаем его. В конце трансфера будет
//прерывание


//если не нужны прерывания от канала и используем поллинг...
int tcc=EDMA_intAlloc(-1);
//ставим полученный tcc в opt.tcc, 0 в opt.tccint, конигурим EDMA и заряжаем его.
...
//в конце поллинг
while(EDMA_test(tcc));

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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

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

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


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru