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

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

Отправлено rs 22 июня 2005 г. 15:45
В ответ на: TX работает - значит настроено на UART? отправлено <font color=gray>rs</font> 22 июня 2005 г. 13:55

asm (" BSET INTM"); // запрет прерываний

asm (" mov #0x0001,mmap(@IVPH)");//
asm (" mov #0x0001,mmap(@IVPD)");

asm (" mov #0000000000000100b,mmap(@DBIER0)");// маска событий отладчика
asm (" mov #0000000000100101b,mmap(@DBIER1)"); // DBIE 2,18,16,21

asm (" mov #0000000000000100b,mmap(@IER0)");// маска событий
asm (" mov #0000000000100101b,mmap(@IER1)"); // DBIE 2,18,16,21


// инициализация UART

asm (" mov #0000000000000001b,port(#0x9c0c)");//URPECR // установка параметров эмуляции
asm (" mov #0000000010000011b,port(#0x9c03)");//URPECR //включение настройки скорости

asm (" mov #0000000000001000b,port(#0x9c02)");//URFСR // выбор UART

asm (" mov #0013h,port(#0x9c00)");//URDLL!!
asm (" mov #0000h,port(#0x9c01)");//URDLM!! // настройка на
//скоррсть 9600 при частоте
// 12 МГц

asm (" mov #0000000100000011b,port(#0x9c03)");//URLCR // настройка UART 8-бит 1-стоповый
// без проверки паритета

asm (" mov #0000000000000000b,port(#0x9c01)");//URIER // отключение всех прерываний
// по UART


// инициализация DMA

asm (" mov #0000000000001100b, port(#0x0c60)");//DMA_CSDP3* //синхронизация по UART RX
asm (" mov #0100011101001011b, port(#0x0c61)");//DMA_CCR3*

asm (" mov #0000000000101000b, port(#0x0c62)");//DMA_CICR3 // FRAME_IE&BLOCK_IE

// стартвый адрес источника
asm (" mov #(0x9c00 << 1 ) & 0FFFFh, port(#0x0c64)");//DMA_CSSA_L3

asm (" mov #(0x9c00 >> 15) & 1 , port(#0x0c65)");//DMA_CSSA_U3

//стартовый адрес потребителя
asm (" mov #(0x4800 << 1 ) & 0FFFFh, port(#0x0c66)");//DMA_CDSA_L3

//количество элементов во фрейме
asm (" mov #(0x4800 >> 15) & 1 , port(#0x0c67)");//DMA_CDSA_U3


asm (" mov #2,port(#0x0c68)");//DMA_CEN3 //2 elements per frame

// количество фреймов во блоке
asm (" mov #1,port(#0x0c69)");//DMA_CFN3 // 1 frames per block

asm (" mov #0,port(#0x0C6A)");//DMA_CSEI3 // clear element index

asm (" mov #0,port(#0x0C6B)");//DMA_CSFI3

asm (" mov #0,port(#0x0C6E)");//DMA_CDEI3

asm (" mov #0,port(#0x0C6F)");//DMA_CDFI3
//enable DMA ch #3 for UART RX
asm (" or #0x0080,port(#0x0c61)");//DMA_CCR3

//enable DMA ch #3 for UART RX
asm (" or #0x0080,port(#0x0c41)");//DMA_CCR2

// enable uart
asm (" or #8000h,port(#0x9c0c)");//URPECR

asm (" BCLR INTM");


подскажите что нетак

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru