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

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

[复制链接]
goby123 提问时间:2020-1-6 16:18 /
我用STM32CubeMX创建了一个stm32f334c8t6芯片的工程,在system_stm32f3xx.c文件下的void SystemInit()函数中有
  1.   /* Reset the RCC clock configuration to the default reset state ------------*/
  2.   /* Set HSION bit */
  3.   RCC->CR |= 0x00000001U;

  4.   /* Reset CFGR register */
  5.   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 发布时间:2020-1-6 16:18

举报

1个回答
butterflyspring 回答时间:2020-2-4 15:14:22
为了保证逻辑正确,所以设置了当前软件需要的时钟状态。至于保留位,可能只有库设计人员知道,但是对于用户来说,没有特殊说明就不用去配置它

所属标签

相似问题

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