Лучше Errata 26 смотри. А то что на другой работает - не показатель. Оно даже на одном чипе может раз от раза то работать, то не работать.
Вот этот код всегда включается: //Настройка генераторов и PLL.Все настройки для кварца 18.432 МГц //Включить главный генератор и задать время запуска 6/32768= 0,18 мс PMC_MOR = 1 | (6<<8); // MOSCEN | OSCOUNT while(!PMC_SR_bit.MOSCS); //Ждем пока генератор стабилизируется //Переводим процессор на главный генератор PMC_MCKR = 1 | (0<<2) | (0<<8); // MCK = MAIN PRES=0 MDIV=0 //Настроим PLLA на 196,6 МГц //Действуем согласно ERRATA PMC_PLLAR = (1<<29) | (32<<16) | (2<<14) | (28<<8) | 4; // MULA | OUTA | PLLACOUNT | DIVA while(!PMC_SR_bit.LOCKA); //Ждем пока PLLA захватится PMC_PLLAR = (1<<29) | (32<<16) | (2<<14) | (28<<8) | 3; // MULA | OUTA | PLLACOUNT | DIVA while(!PMC_SR_bit.LOCKA); //Ждем пока PLLA захватится //Настроим PLLB на 95,8464 МГц //Действуем согласно ERRATA PMC_PLLBR = (1<<28) | (24<<16) | (28<<8) | 5; while(!PMC_SR_bit.LOCKB); //Ждем пока PLLB захватится PMC_PLLBR = (1<<28) | (25<<16) | (28<<8) | 5; // USB96M | MULB | PLLBCOUNT | DIVB while(!PMC_SR_bit.LOCKB); //Ждем пока PLLB захватится #ifdef _TEST_ //Выведем PLLA/64 на 122-ю ногу (PB27) PIOB_PDR= (1<<27); // PB27 на Funck A PMC_SCER = (1<<8); PMC_PCK0=2 | (6<<2); #endif // _TEST_ //Переключим процессор на PLLA и MCK на PLLA/2 //Действуем согласно ERRATA PMC_MCKR_bit.MDIV=1; //MCK = PCK/2 PMC_MCKR_bit.PRES=0; PMC_MCKR_bit.CSS=2; //PCK = PLLA
ЗЫ: На частоты не смотри, там превышение по МСК.
|