为什么给标准函数传参时用 | 可以操作多个引脚或时钟?

例如
RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1, ENABLE );
可以给三个时钟使能?

选中RCC_APB2PeriphClockCmd鼠标右键选Go To Definition去看函数原型
上面注释已经提示出可以使能的时钟,这些时钟名称已经是被封装好的寄存器地址。
| 操作本质上是地址的或操作,在某一段地址上写入数据就会开启相应的时钟功能。| 可以同时写入多个数据所以可以同时给多个时钟使能。