阿棉 发表于 2012-7-7 19:54:07

关于STM32F0的系统时钟配置和备份寄存器问题【悬赏问答】

各位大神好,
    我有两个问题请教下大家。
1、以前STM32F103的系统配置是在RCC_Configuration里,但是STM32F0好像是在startup.s里自动配置,那么我想把系统时钟配置为非48M时怎么配置?还有ADC的时钟。
2、STM32F0好像没有BKP了是不是?
在线等,谢谢各位!

yjwpm 发表于 2012-7-9 11:44:25

RE:关于STM32F0的系统时钟配置和备份寄存器问题

你没有好好的看文档。我手里没有F0的板子 所以具体的我也没研究,你可以在本论坛里搜索一下F0的资料好好的看一下。。。

cx032302 发表于 2012-7-13 11:49:23

RE:关于STM32F0的系统时钟配置和备份寄存器问题【悬赏问答】

这个问题楼主好像已经解决了,看到你在21发了同样的帖子,我认为这个回帖很好:
“startup.s里自动配置”不是你理解的那样,像stm32F1的v3.5.0固件,是在startup.s里边调用配置函数SystemInit,要改为48M主频,到system_stm32f10x.c这个文件中将“#define SYSCLK_FREQ_72MHz”改变即刻,AHB,APB1,APB2的话直接到对应函数(比如你选72M)SetSysClockTo72(void)中修改。其实你英语好的话看system_stm32f10x.c文件开始的介绍就明白了。

航天航海 发表于 2012-7-13 11:56:20

RE:关于STM32F0的系统时钟配置和备份寄存器问题【悬赏问答】

这类问题最好看看手册和固件库的说明书,一办很容易解决。

starcool 发表于 2012-7-13 12:13:12

RE:关于STM32F0的系统时钟配置和备份寄存器问题【悬赏问答】

ADC时钟是由系统时钟分频来的,具体怎么分配置寄存器就可以实现。然后系统时钟频率配置根据你的晶振和换算公式可计算得到。具体可参考数据手册的晶振部分。

ryanzx 发表于 2012-7-18 16:37:15

RE:关于STM32F0的系统时钟配置和备份寄存器问题【悬赏问答】

楼主应该说的是下面这段代码吧。
Reset_Handler    PROC
               EXPORTReset_Handler               
      IMPORT__main
      IMPORTSystemInit
               LDR   R0, =SystemInit
               BLX   R0
               LDR   R0, =__main
               BX      R0
               ENDP
实际就是在进入main之前先调用systemInit()来设置时钟。所以非48M的就在这个函数里面修改就可以了。还有要注意几个都文件里面的宏定义要改掉。

gugang 发表于 2014-4-15 11:32:58

回复:关于STM32F0的系统时钟配置和备份寄存器问题【悬赏问答】

 // /* PLL configuration = (HSI(~8MHz)/2) * 12 = ~48 MHz */ 
// RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); 
// RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSI_Div2 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL12); 

/* PLL configuration = (HSI(~8MHz)/2) * 2 = ~8 MHz */ 
RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); 
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSI_Div2 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL2);
页: [1]
查看完整版本: 关于STM32F0的系统时钟配置和备份寄存器问题【悬赏问答】