GPIO_SetBits 和 GPIO_WriteBit的差别

void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)
{
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  assert_param(IS_GET_GPIO_PIN(GPIO_Pin));
  assert_param(IS_GPIO_BIT_ACTION(BitVal)); 
  
  if (BitVal != Bit_RESET)
  {
    GPIOx->BSRR = GPIO_Pin;
  }
  else
  {
    GPIOx->BRR = GPIO_Pin;
  }
}
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->BSRR = GPIO_Pin;
}

对单个IO口置0或1:
GPIO_WriteBit();
同时对多个IO口置1:
GPIO_SetBits();

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: gpio_setbitsgpio_writebit都是GPIO控制器中的函数。 gpio_setbits函数用于将指定的GPIO引脚设置为高电平,它的参数是一个GPIO掩码,可以同时设置多个GPIO引脚。 gpio_writebit函数用于将指定的GPIO引脚设置为指定的电平,它的参数包括GPIO编号和电平值。如果电平值为1,则设置为高电平;如果电平值为0,则设置为低电平。 ### 回答2: GPIO(General Purpose Input/Output)是通用输入输出口的缩写,它是一个用于控制外设的端口,可以通过软件控制和操作。在进行嵌入式系统编程时,GPIO常常用来控制设备的状态,包括输出高低电平、读取输入端口状态等。而在GPIO编程中,常常会使用两个函数:gpio_setbitsgpio_writebit,下面我们来分别介绍一下它们的作用和使用方法。 gpio_setbits函数 gpio_setbits函数的作用是将指定的GPIO引脚置为高电平,其使用方式如下: ```C void gpio_setbits(unsigned int pin); ``` 其中,参数pin表示要设置的GPIO引脚编号。例如,如果我们要将GPIO1引脚置为高电平,可以使用以下代码: ```C gpio_setbits(1); ``` gpio_writebit函数 gpio_writebit函数的作用是将指定的GPIO引脚设置为指定的状态(高电平或低电平),其使用方式如下: ```C void gpio_writebit(unsigned int pin, unsigned int value); ``` 其中,参数pin表示要设置的GPIO引脚编号,参数value表示要设置的GPIO引脚状态(0表示低电平,1表示高电平)。例如,如果我们要将GPIO1引脚设置为低电平,可以使用以下代码: ```C gpio_writebit(1, 0); ``` 总结 - gpio_setbits函数用来将指定GPIO引脚设置为高电平; - gpio_writebit函数用来将指定GPIO引脚设置为指定状态; - GPIO编程常用于控制设备状态,如输出高低电平、读取输入端口状态等。 ### 回答3: GPIO(General Purpose Input/Output)是通用输入输出端口的缩写,是CPU芯片或单片机中用于与外部器件连接的通用接口。在嵌入式系统中,GPIO是进行硬件控制和数据传输的关键部分之一。而在嵌入式程序中,常用的GPIO函数包括gpio_setbitsgpio_writebitgpio_setbits函数的作用是将指定的引脚设置为高电平。它的参数包括GPIO引脚的编号和需要设置的高电平数量。通常情况下,GPIO引脚的编号是由硬件定义的,可以通过芯片手册等相关文档了解。在函数中,设置高电平的数量可以选择为1或者多个,也可以通过特定的掩码值来设置。这个函数主要适用于只需要操作某些GPIO引脚,而不需要设置完整的寄存器的情况。 gpio_writebit函数的作用是设置指定引脚的电平状态。它的参数包括GPIO引脚的编号、需要设置的电平值(0或1)以及一个可选的掩码值。当需要设置特定的GPIO引脚电平状态时,该函数非常有用。它可以通过引脚编号和电平值来设置特定的引脚,也可以通过掩码值来设置多个引脚。 总的来说,gpio_setbitsgpio_writebit都是用于控制GPIO引脚电平状态的函数。它们的主要区别在于gpio_setbits只适用于设置特定引脚的电平状态,而gpio_writebit则可以用于设置多个引脚的电平状态。因此,在不同的情况下,开发人员可以根据需求来选择使用不同的函数。同时,在应用中,开发人员还需要注意硬件定义及各个寄存器的地址位,以充分发挥GPIO的控制能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值