реклама на сайте
подробности

 
 
> LPC2129 UART+PLL, Настройки PLL и UART
HSA
сообщение Feb 25 2005, 17:09
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 42
Регистрация: 10-01-05
Из: Санкт-Петербург
Пользователь №: 1 862



Есть плата от МТ. Все работает, тикает и мигает.
Помогите разобраться с UART.

Подключаю PLL:

//Документ UM_LPC21XX_LPC22XX_2.pdf, стр.80
//Расчет PLL
//Частота кварца - Fosc = 11,059200 МГц
//Fcclk = 60 МГц
//M = Fcclk / Fosc = 5,42 (=5) В соответствии с табл. в рег-р записываем - 4
//Fcclk = 11,059200 * 5 = 55,296 МГц
//Fcco выбираем из интервала: 156МГц - 320МГц
//Fcco = 156 МГц
//P = 156 / (2*55,296)=1,41 (=2) В соответствии с табл. врег-р записываем 1.
//Fcco = 2*2*55.96=223.84МГц

PLLCFG_bit.MSEL=4;
PLLCFG_bit.PSEL=1;
feed();
PLLCON_bit.PLLE=1; // Enable the PLL
feed();
while(!(PLLSTAT & PLOCK)); // Wait for PLL to lock

//Init MAM & Flash memory fetch
MAMCR_bit.MODECTRL=2;
MAMTIM_bit.CYCLES=4;
VPBDIV_bit.VPBDIV=1;

Затем инициализирую UART:
unsigned int divisor = getperipheralClockFreq() / (16 * baud);
U0LCR_bit.DLAB=1; //Enable DLAB
U0LCR_bit.WLS=3; //8 bits
U0LCR_bit.SBS=1; //1 stop bit
U0DLL = (divisor&0xFF);//LSB(divisor);
U0DLM = ((divisor>>8)&0xFF);//MSB(divisor);
U0LCR_bit.DLAB=0; //Disable DLAB
PINSEL0 = PINSEL0 & ~0xF | 0x5;

Проблема в том, что когда работа без PLL - все работает, на компе с UART данные снимаю правильно. Как только пробую работать с PLL - UART выдает ошибки, вернее какую-то лобуду. Понимаю, что где-то в этих настройках (PLL или UART) я баг прописал. Но где не найду. Смотрел примеры и в даташите - так вроде все правильно. Да, то что регистры прописаны, как структуры - взял пример от IAR, там файл макросов есть - iolpc2129.h
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 23:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01345 секунд с 7
ELECTRONIX ©2004-2016