本帖最后由 TI_MCU 于 2011-11-30 22:08 编辑
M4与M3相比,时钟系统也进行了改进,如下图所示:
眼睛亮的朋友估计一眼就能看到,最大的区别莫过于内部晶振(PIOC)可以直接接到PLL上了,这样使用内部时钟就可以达到较高主频如80MHz, 50MHz。想要使用内部晶振+PLL可以进行如下配置:
- SysCtlClockSet(
- SYSCTL_OSC_INT | //使用内部晶振
- SYSCTL_USE_PLL | //使用PLL
- SYSCTL_SYSDIV_4 | //4分频到50MHz
- SYSCTL_MAIN_OSC_DIS); //停用主时钟Main_OSC
内部晶振有时候精度不够,如果是带休眠模块的M4F则可以用RTC自动进行校准,前提是有提供32768Hz的晶振,代码如下:
- // 启用休眠模块
- SysCtlPeripheralEnable(SYSCTL_PERIPH_HIBERNATE);
- // 使能休眠模块时钟
- HibernateEnableExpClk(SysCtlClockGet());
- // 使能休眠模块RTC时钟
- HibernateRTCEnable();
- // 进行自动校准
- SysCtlPIOSCCalibrate(SYSCTL_PIOSC_CAL_AUTO);
- // 关闭休眠模块
- SysCtlPeripheralDisable(SYSCTL_PERIPH_HIBERNATE);
|