Перейти к содержанию
    

Конфигурирование CCLKCFG (CCLKSEL)

Столкнулся с таким непонятным для меня моментом

Использую system_LPC17xx.c. Задал множители (мне нужно 100МГц при 12МГц кварце. Получаю M=25, N=2, PLLclk=300 (в диапазоне), CCLKSEL=2)

Отсюда:

 

CCLK = ((2*12*25)/2)/3 = 100МГц

 

По даташиту CCLKSEL может принимать нечетные значения. Однако system_LPC17xx.c ругается:

Startup\system_LPC17xx.c(352): error: #35: #error directive: "CCLKCFG: CCLKSEL field does not contain only odd values or 0!"

проверка там такая:

#if ((CCLKCFG_Val != 0) && (((CCLKCFG_Val - 1) % 2)))
   #error "CCLKCFG: CCLKSEL field does not contain only odd values or 0!"
#endif

Версии:

UM10360 Rev. 2 — 19 August 2010

system_LPC17xx.c - V1.1 18th May 2009

 

Я понимаю, конечно, что верить нужно даташиту, но неспроста же эта проверка была введена?

 

UPD

Я могу изменить множители (M=50, N=3), попасть в диапазон PLL (<550MHz) и получить свой стольник, деля на 4. Интересна природа момента

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предлагаю пользоваться более свежей версией библиотек. Заголовок lpc17xx.h 1.1 (или что-то похожее) содержал вообще немеряное количество опечаток.

 

В более новых system_lpc17xx.c эту проверку убрали.

 

 

Да, ноги растут отсюда:

7:0 CCLKSEL Selects the divide value for creating the CPU clock (CCLK) from the PLL output.

Only 0 and odd values (1, 3, 5, ..., 255) are supported and can be used when programming the CCLKSEL bits.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, так и есть

 

В версии 1.13 от 18. April 2012 уже совсем другая песня:

 

#if (CHECK_RANGE((CCLKCFG_Val), 0, 255))
   #error "CCLKCFG: Value out of range!"
#endif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...