OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3953|回复: 2

时钟和延时问题

[复制链接]

2

主题

3

帖子

0

精华

新手入门

积分
31
金钱
31
注册时间
2013-10-10
在线时间
0 小时
发表于 2013-10-10 14:57:06 | 显示全部楼层 |阅读模式
我用如下代码(Stm32_Clock_Init给的参数是9)初始化时钟的话delay_ms(1000)是延时1s。delay_ms就是原子哥给的那个delay.c里的东西。
void reset(void)
{
RCC->APB1RSTR = 0x00000000; //复位APB1 
RCC->APB2RSTR = 0x00000000; //复位APB2
RCC->AHBENR = 0x00000014;  //睡眠模式闪存和SRAM时钟时能
RCC->APB2ENR = 0x00000000;  //关闭所有外设
RCC->APB1ENR = 0x00000000;   
RCC->CR |= 0x00000001;    //开启内部8M时钟
RCC->CFGR &= 0xF8FF0000;   
RCC->CR &= 0xFEF6FFFF;     
RCC->CR &= 0xFFFBFFFF;     
RCC->CFGR &= 0xFF80FFFF;   
RCC->CIR = 0x00000000;
}

void Stm32_Clock_Init(unsigned char PLL)
{
unsigned char temp=0;
reset();
RCC->CR|=0x00010000;
while(!(RCC->CR>>17));
RCC->CFGR=0x00000400;
PLL-=2;
RCC->CFGR|=PLL<<18;
RCC->CFGR|=1<<16;
FLASH->ACR|=0x32;
RCC->CR|=0x01000000;
while(!(RCC->CR>>25));
RCC->CFGR|=0x00000002;
while(temp!=0x02)
{
temp=RCC->CFGR>>2;
temp&=0x03;
}
}
但是如果我用下面代码初始化时钟的话delay_ms(1000)是延时2s。我觉得这两种初始化应该是一样的呀。
void RCC_HSE_Configuration()
{
RCC_DeInit();   
RCC_HSEConfig(RCC_HSE_ON);
if(RCC_WaitForHSEStartUp() == SUCCESS)   
{
RCC_HCLKConfig(RCC_SYSCLK_Div2);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PCLK2Config(RCC_HCLK_Div1);

FLASH_SetLatency(FLASH_Latency_2);
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);   

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() != 0x08);
}

}
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2012-8-10
在线时间
40 小时
发表于 2013-10-10 15:50:08 | 显示全部楼层
RCC_HCLKConfig(RCC_SYSCLK_Div1),不知道对不对
回复 支持 反对

使用道具 举报

2

主题

3

帖子

0

精华

新手入门

积分
31
金钱
31
注册时间
2013-10-10
在线时间
0 小时
 楼主| 发表于 2013-10-10 18:16:41 | 显示全部楼层
回复【2楼】hwl1023:
---------------------------------
谢谢你,问题解决了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-12 10:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表