PLL configuration

2019-07-21 05:28发布

/*  PLL configuration: PLLCLK = HSE * 9 = 72 MHz */
        RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
                                            RCC_CFGR_PLLMULL));
        RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);
大致意思我知道,选择HSE时钟源,再选择9倍频,变成72MHZ,下面对CFGR寄存器进行配置:
具体如下:
#define  RCC_CFGR_PLLSRC                     ((uint32_t)0x00010000)        /*!< PLL entry clock source */
#define  RCC_CFGR_PLLXTPRE                  ((uint32_t)0x00020000)        /*!< HSE divider for PLL entry */
#define  RCC_CFGR_PLLMULL                   ((uint32_t)0x003C0000)        /*!< PLLMUL[3:0] bits (PLL multiplication factor) */
#define  RCC_CFGR_PLLSRC_HSE              ((uint32_t)0x00010000)        /*!< HSE clock selected as PLL entry clock source */
#define  RCC_CFGR_PLLMULL9                  ((uint32_t)0x001C0000)        /*!< PLL input clock*9 */
第一步我的计算结果是: 0xFFC0FFFF
第二步计算结果是:     0X00D00000     位20-位23都是1101
从下面怎么看是选择HSE时钟源,再选择9倍频,变成72MHZ?
QQ图片20190123201847.png QQ图片20190123204942.png

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
wgb123
1楼-- · 2019-07-21 10:11
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-21 10:48
你这个图已经很清楚了啊
wgb123
3楼-- · 2019-07-21 13:55
正点原子 发表于 2019-1-24 03:01
你这个图已经很清楚了啊

第一步我的计算结果是: 0x00000000
第二步计算结果是:     0X00D00000     位20-位23都是1101
按照那个CFGR寄存器 位1:0应该是01 ,按照第一个图还要设置这两个的倍频数 PLLXTPRE PLLMUL,但是我不知道HSE这个时钟源的频率。计算的结果完全不对。
wgb123
4楼-- · 2019-07-21 19:44
正点原子 发表于 2019-1-24 03:01
你这个图已经很清楚了啊

第一步我的计算结果是: 0x00000000
第二步计算结果是:     0X00D00000     位20-位23都是1101
按照那个CFGR寄存器 位1:0应该是01 ,按照第一个图还要设置这两个的倍频数 PLLXTPRE PLLMUL,但是我不知道HSE这个时钟源的频率。计算的结果完全不对。
正点原子
5楼-- · 2019-07-22 00:52
wgb123 发表于 2019-1-25 18:28
第一步我的计算结果是: 0x00000000
第二步计算结果是:     0X00D00000     位20-位23都是1101
按照那 ...

HSE就是你外部晶振的频率,必须知道。
wgb123
6楼-- · 2019-07-22 05:54
 精彩回答 2  元偷偷看……

一周热门 更多>