以STM32中寄存器的移位为例: //打开GPIOB端口的时钟 *(unsigned int *)0x40021018 |= (1<<(3)); //控制ODR寄存器 *(unsigned int *)0x40010C0C &= ~(1<<0); 这里出现的|= 和 &= ~,是C语言编程中比较常见的两种语法,常用于移位,请大家务必掌握。 1. 或与非的缩写 以下两行代码的含义相同: //a或上b a|