使用12Mhz晶振如何设置RCC和RCC2,SysCtlClockSet()使Sysclock为80Mhz,
使用内部16Mhz时钟又应该怎么设置呢?
使用12Mhz晶振如何设置RCC和RCC2,SysCtlClockSet()使Sysclock为80Mhz,
使用内部16Mhz时钟又应该怎么设置呢?
PLL工作在400MHz频率下,在输出分频应用前先被2分频,即200MHz。但如果DIV400 位置1时,使用400MHzPLL输出。
我们要设置RCC2 = 1,此时RCC域被忽略。
置位RCC2中DIV400 ,这样可使SYSDIV2和SYSDIV2LSB构成一个7位的分频值来使用400MHz的频率输出。此时分频值为((SYSDIV2 << 1) | SYSDIV2)+ 1。
SYSDIV2位 = 0x2,系统时钟分频值2。
SYSDIV2LSB = 0。这样分频值为5 = (((0x2<<1)| 0x0) + 1)
USBPWRDN = 0,USB PLL工作正常
PWRDN2 = 0,PLL工作正常,
BYPASS2 = 0,系统时钟是被SYSDIV2规定的分频值分频的PLL时钟。
OSCSRC2 = 0,使用主振荡器
这样RCC2的值为0xC1000000
利用TI提供干的API,应该是SysCtlClockSet(SYSCTL_SYSDIV_2_5| SYSCTL_USE_PLL | SYSCTL_XTAL_12MHZ | SYSCTL_OSC_MAIN);
你说设置后的频率不是80MHz,不知道你是怎么调试的,我用9B96的开发板和9b90的评估板测试没有问题。
或者你可是试一下提高LDO输出电压SysCtlLDOSet(SYSCTL_LDO_2_75V);然后再看看频率为多少
谢谢,硬件原理我看懂的,就是硬件函数库感觉TI的说明不是很清楚(也许是刚刚接触TI的芯片和它的硬件函数库),按照大家的建议实现了80MHz的系统时钟。我没有用开发板,自己做的最小系统。
谢谢!