本帖最后由 yzzly 于 2013-1-26 12:20 编辑
103VE系统,使用内部8M振荡器,当系统时钟设置为48M及以下频率时没有问题,一旦设置52M、56M、60M、64M在选择PLL为系统时钟时候就出现硬件错误,这是怎么回事呢?
RCC->CR = RCC->CR | RCC_CR_HSION; //使能HSI
while((RCC->CR & RCC_CR_HSIRDY) != RCC_CR_HSIRDY); //等待HSI准备好
RCC->CFGR = RCC->CFGR | RCC_PLLSource_HSI_Div2; //选择HSI/2为PLL的输入
RCC->CFGR = RCC->CFGR | (15<<18); //设置PLL的倍数
RCC->CR = RCC->CR | RCC_CR_PLLON; //使能PLL
while((RCC->CR & RCC_CR_PLLRDY) != RCC_CR_PLLRDY); //等待PLL准备好
RCC->CFGR = RCC->CFGR | RCC_SYSCLKSource_PLL; //选择PLL作为系统时钟
|