为什么有的函数他能用 或 来同时执行两个呢?

2019-08-14 19:21发布


比如这一类:
原函数:
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)
{
  /* Check the parameters */
  assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  if (NewState != DISABLE)
  {
    RCC->APB2ENR |= RCC_APB2Periph;
  }
  else
  {
    RCC->APB2ENR &= ~RCC_APB2Periph;
  }
}

调用的函数:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE);

为什么他可以用或来使能两个呢?
小弟从51那边过来,第一次见到函数的参数可以这样用,百度查不出个所以然(可能我查的关键词不太对),求C高手为我指点一二,先谢谢各位
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。