STM32F429的Sys_Clock_Set问题

2019-07-20 12:10发布

如题,在F429系统时钟设置函数里看到如下:
        RCC->CFGR&=~(3<<0);    //清零
        RCC->CFGR|=2<<0;         //选择主PLL作为系统时钟
问题1:为什么先要给RCC->CFGR先清零,不清零直接配置可以么?
问题2:为什么要清零而不是配置成别的?比如01或者10?

00:选择 HSI 振荡器作为系统时钟
01:选择 HSE 振荡器作为系统时钟
10:选择 PLL 作为系统时钟
11:不允许  


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
taizonglai
1楼-- · 2019-07-20 13:03
清零是清除以前的配置,是个保险的做法。
cromarti
2楼-- · 2019-07-20 15:32
 精彩回答 2  元偷偷看……
视频监制
3楼-- · 2019-07-20 15:33
zuozhongkai 发表于 2017-8-30 09:51
清零是清除以前的配置,是个保险的做法。

如果不清除的话 会有什么影响么?能举个例子么
视频监制
4楼-- · 2019-07-20 19:17
cromarti 发表于 2017-8-30 13:50
直接配置如果不用与或就可能覆盖之前的寄存器值,为了不覆盖先清零后与是比较安全的方法,而且清零之后的时 ...

感觉多此一举,还是不理解
cromarti
5楼-- · 2019-07-20 21:31
 精彩回答 2  元偷偷看……
呵呵呵开西寨
6楼-- · 2019-07-21 00:36
看个人理解 在你看来可能是多此一举 事实上大多数时候就是多此一举

一周热门 更多>