[an error occurred while processing this directive]
Режим автобуферизации DMA приемной части UART (ADSP 2191)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

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

Отправлено SiJack 30 июля 2004 г. 10:44

Доброго времени суток. Не подскажете новичку, что не так делаю?
Неполучатся настроить работу с DMA. Работаю с Apex-ICE. Делаю следующее:
1. Настраиваю прервание
IOPG = IRQCTL_PAGE;
ar = 0xbbbb;
io(IPR3) = ar;
io(IPR0) = ar;
io(IPR2) = ar;
ar = 0x0bbb;
io(IPR1) = ar;
2. UART на 9600
3. DMA
IOPG = UART_Controller_Page; //0x05
// установка режима автобуферизации
ar= 0x0010; io(UARDR_CFG) = ar;
// установка начальных страницы и адреса
ar = Page(Input_Buffer); io(UARDR_SRP) = ar;
ar = Input_Buffer; io(UARDR_SRA)=ar;
// установка количества символов
ar = LENGTH(Input_Buffer); io(UARDR_CNT) = ar;
// разрешить ДМА автобуферизация, прервание по завершению
ar = 0x0015; io(UARDR_CFG) = ar;
ax0=imask;
ay0= 0x0010 ;
ar=ax0 or ay0;
imask=ar;
ENA int; /* Enable Interrupts */
После посылки в порт символа срабатвает прерывание. Но данных я не вижу + после этого прерывание начинает срабатывать постоянно, хотя в потр я ничего не шлю.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru