RCC_APB2ENR |=1<<3;为什么该表达式不可以赋值
时间: 2024-04-13 12:27:02 浏览: 318
RCC.zip_3RCcGtA_STM32F103 R_STM32F103 rcc_STM32F407-RCC配置_visual
`RCC_APB2ENR |= 1 << 3;`这个表达式实际上是对`RCC_APB2ENR`寄存器的第3位进行置位操作,使用位运算符`|=`来实现。这个表达式的作用是将`RCC_APB2ENR`寄存器的第3位设置为1。
这个表达式本身是可以赋值的,但是赋值操作符`=`会将整个表达式的结果赋值给左侧的变量,而不仅仅是赋值给`RCC_APB2ENR`寄存器的第3位。
如果你想要将整个表达式的结果赋值给某个变量,可以使用括号将表达式括起来,例如:`result = (RCC_APB2ENR |= 1 << 3);`。这样,整个表达式的结果会被赋值给`result`变量。
阅读全文