-1

可以像这样将 2 个引脚设置为高电平GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

GPIO_SetBis(GPIOA,PA1|PA2)  

网上的stm32f10外设库(这里)说:

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

但在GPIO_SetBits函数内部有:

assert_param(IS_GPIO_PIN(GPIO_Pin));  

它指的是一个简单的宏,将每个输入作为单个引脚进行检查:

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

2 回答 2

0

如果你说的是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 Pin作为参数并分配GPIO_PinGPIOx-->BSRRL寄存器......

但是,您始终可以创建自己的函数来为您完成任务。

于 2014-10-11T02:29:27.443 回答
0

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

于 2014-10-10T19:46:34.447 回答