你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 8518|回复: 6

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

[复制链接]

1

主题

0

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-7-7 19:54:07 | 显示全部楼层 |阅读模式
各位大神好,
    我有两个问题请教下大家。
1、以前STM32F103的系统配置是在RCC_Configuration里,但是STM32F0好像是在startup.s里自动配置,那么我想把系统时钟配置为非48M时怎么配置?还有ADC的时钟。
2、STM32F0好像没有BKP了是不是?
在线等,谢谢各位!
回复

使用道具 举报

2

主题

240

回帖

0

蝴蝶豆

中级会员

最后登录
2020-8-11
发表于 2012-7-9 11:44:25 | 显示全部楼层

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

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

使用道具 举报

7

主题

157

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 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文件开始的介绍就明白了。
回复 支持 反对

使用道具 举报

1

主题

39

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-7-13 11:56:20 | 显示全部楼层

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

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

使用道具 举报

0

主题

16

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-7-13 12:13:12 | 显示全部楼层

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

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

使用道具 举报

5

主题

16

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-7-18 16:37:15 | 显示全部楼层

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

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

使用道具 举报

2

主题

4

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 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);
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版