在时钟配置函数中 有个(uint32_t)((uint32_t)~R)语法问题没弄懂 请大神指教!!!!

2019-07-21 03:28发布

在时钟配置中有一个配置系统频率为72MHz的函数SetSysClockTo72其中选择PLL为系统时钟的语句    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));//这一句是初始化 RCC->CFGR的SW位,那么为什么要用两次的强制类型转换
(uint32_t)((uint32_t)~(RCC_CFGR_SW)),PS:已知  RCC_CFGR_SW  为uint32_t类型的数据   为什么在取反后强制转换为uint32_t后   有来了一次强制转换(uint32_t)
是我读句子读错了  还是怎么回事  求大神解答!!  
感激不尽!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。