STM32
直播中

王丽

7年用户 1349经验值
私信 关注
[问答]

stm32f334c8t6的SystemInit函数位与写入CFGR寄存器的意义?

我用STM32CubeMX创建了一个stm32f334c8t6芯片的工程,在system_stm32f3xx.c文件下的void SystemInit()函数中有

  •   /* Reset the RCC clock configuration to the default reset state ------------*/
  •   /* Set HSION bit */
  •   RCC->CR |= 0x00000001U;

  •   /* Reset CFGR register */
  •   RCC->CFGR  = 0xF87FC00CU;
我想问,为什么要对CFGR寄存器进行 =操作,STM32F334C8T6参考手册(文档编号RM0364)中118页写明了Reset value: 0x0000 0000,那按位与完肯定不还是0吗?做这个操作有什么用?而且位与的值的二进制为‭1111,1000,0111,1111,1100,0000,0000,1100‬,我发现23位和0位与,22位和1位与,而他们两个都是标了res的保留位,为啥要区别对待?

回帖(1)

h1654155275.5842

2024-4-16 15:18:57
为了保证逻辑正确,所以设置了当前软件需要的时钟状态。至于保留位,可能只有库设计人员知道,但是对于用户来说,没有特殊说明就不用去配置它
举报

更多回帖

发帖
×
20
完善资料,
赚取积分