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

查看: 8569|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版