[an error occurred while processing this directive]
я пока отложил ХАЛ и сделал это по стариковски на SDK :)
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

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

Отправлено VB 07 сентября 2004 г. 09:56
В ответ на: 2VB, Или снова о DMA NIOS (для данной конфы скорее ОФФ) отправлено Major 07 сентября 2004 г. 07:31

void isr_dma(void* context, alt_u32 id)
{
np_dma * pdma = (np_dma *) context;

if(pdma->np_dmastatus & np_dmastatus_done_mask)
{
pdma->np_dmacontrol = 0;
pdma->np_dmastatus = 0;
pdma->np_dmalength = ScrWidth*ScrHeight*sizeof(int);
dma_draw=get_active_page();
pdma->np_dmareadaddress = (int) dma_draw;
pdma->np_dmawriteaddress = (int) na_vga;
activepage++;
if (activepage==3) activepage = 0;
pdma->np_dmacontrol = np_dmacontrol_go_mask | np_dmacontrol_i_en_mask | np_dmacontrol_word_mask | np_dmacontrol_reen_mask | np_dmacontrol_wcon_mask | np_dmacontrol_leen_mask;
}
}

int main(void)
{
int* scr2;

np_dma * pdma = na_dma;

alt_irq_register(na_dma_irq,(void*) pdma, isr_dma);
.......
pdma->np_dmacontrol = 0;
pdma->np_dmastatus = 0;
pdma->np_dmalength = ScrWidth*ScrHeight*sizeof(int);
pdma->np_dmareadaddress = (int) dma_draw;
pdma->np_dmawriteaddress = (int) na_vga;
pdma->np_dmacontrol = np_dmacontrol_go_mask | np_dmacontrol_i_en_mask | np_dmacontrol_word_mask | np_dmacontrol_reen_mask | np_dmacontrol_wcon_mask | np_dmacontrol_leen_mask;

}

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru