打印

关于振荡器的问题(大于48M小于72M的频段)

[复制链接]
1849|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzzly|  楼主 | 2013-1-26 10:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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作为系统时钟
沙发
yzzly|  楼主 | 2013-1-26 10:43 | 只看该作者
当选择外部6M振荡器,系统时钟为54M、60M、66M的时候怎么也不行?

使用特权

评论回复
板凳
yzzly|  楼主 | 2013-1-26 12:19 | 只看该作者
请朋友们把你的系统时钟设置在大于48M小于72M的频率试试看有什么情况,谢谢!

使用特权

评论回复
地板
yzzly|  楼主 | 2013-1-26 14:01 | 只看该作者
对不起,是本人在在设置FLASH的的等待周期的时候犯了错误,判断系统设置≥72M时等待2个周期,判断系统设置等于48M时等待1个周期,根本就没有照顾到48M~72M之间的频率,所以就没有设置FLASH的等待周期,故程序不能正常执行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

428

主题

1183

帖子

3

粉丝