[an error occurred while processing this directive]
|
Подключаю кварцевый резонатор (или генератор) на частоту 8МГц как в даташите. Настройки задаю либо в свойствах CPU, либо после запуска от внутреннего генератора следующим кодом(что вобщем-то равнозначно):
clrRegBits(GPIO_C_PUR, 0x03);/* Disable pull-up on XTAL or external clock pins */
clrRegBits(GPIO_C_PER, 0x03);/* Set XTAL or external clock pins as GPIO */
setRegBit(OSCTL, CLK_MODE);/* Select an external clock mode (Direct clock mode) */
setRegBit(PLLCR, PRECS); /* Select an external clock source for the CPU core */
setRegBit(OSCTL, ROPD);/* Power down the internal relaxation oscillator */
setReg(PLLCR, (PLLCR_PRECS_MASK | PLLCR_LCKON_MASK | PLLCR_ZSRC0_MASK)); /* Enable PLL, LCKON and select clock source from prescaler */
/* PLLDB: LORTP=0,PLLCOD=0,PLLCID=1,??=0,PLLDB=0x3B */
setReg16(PLLDB, 0x013B); /* Set the clock prescalers */
while(!getRegBit(PLLSR, LCK0)){} /* Wait for PLL lock */
setReg(PLLCR, (PLLCR_PRECS_MASK | PLLCR_LCKON_MASK | PLLCR_ZSRC1_MASK)); /* Select clock source from postscaler */
/* FMCLKD: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,DIVLD=0,PRDIV8=1,DIV=0x12 */
setReg16(FMCLKD, 0x52); /* Set the flash clock prescaler */
При отладке по шагам при выполнении строчки setReg(PLLCR, (PLLCR_PRECS_MASK | PLLCR_LCKON_MASK | PLLCR_ZSRC0_MASK)); (выбор источника тактовой от выхода прескалера) переходит на адрес 0x1FFFFF и на нем и виснет.
Может подскажите в чем может быть дело. Проверял все регистры,
которые инициализирует процессор эксперт - все вроде правильно... На неустойчивый запуск кварцевого генератора было много нареканий, но вот почему от генератора не работает....
E-mail: info@telesys.ru