是否可以在stm32f10中使用GPIO_设置cmsis功能设置两个引脚?

是否可以在stm32f10中使用GPIO_设置cmsis功能设置两个引脚?,stm32,cmsis,Stm32,Cmsis,可以使用GPIO\U设置(GPIO\U TypeDef*GPIOx,uint16\U t GPIO\U引脚)将2个引脚设置为高电平如下所示: GPIO_SetBis(GPIOA,PA1|PA2) 在线stm32f10外围设备库()表示: 此参数可以是GPIO_Pin_x的任何组合,其中x可以是(0..15) 但是在GPIO\u SetBits函数中有: assert_param(IS_GPIO_PIN(GPIO_Pin)); 它指的是一个简单的宏,将每个输入作为单个引脚进行检查: (

可以使用
GPIO\U设置(GPIO\U TypeDef*GPIOx,uint16\U t GPIO\U引脚)将2个引脚设置为高电平
如下所示:

GPIO_SetBis(GPIOA,PA1|PA2)  
在线stm32f10外围设备库()表示:

此参数可以是GPIO_Pin_x的任何组合,其中x可以是(0..15)

但是在
GPIO\u SetBits
函数中有:

assert_param(IS_GPIO_PIN(GPIO_Pin));  
它指的是一个简单的宏,将每个输入作为单个引脚进行检查:

(((PIN) == GPIO_Pin_0) || \ ... 

当然,这是可能的。但您必须编写一个新函数,它有三个参数。在分析GPIO_函数时,您可以轻松地编写它。这将是相似的

如果您谈论的是STM提供的STM32标准库,那么这是不可能的,请参见标准库中的说明

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  assert_param(IS_GPIO_PIN(GPIO_Pin));

  GPIOx->BSRRL = GPIO_Pin;
}
因此,它将GPIOx和GPIO引脚作为参数,并将
GPIO\U引脚
分配给
GPIOx-->BSRRL
寄存器

但是,您可以随时为自己制定任务