GPIO_ReadInputDataBit函数实现
时间: 2023-12-05 11:06:14 浏览: 129
GPIO_ReadInputDataBit函数用于读取特定GPIO引脚的输入状态。
函数实现如下:
```
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
uint8_t bitstatus;
/* Check the parameters */
assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
assert_param(IS_GET_GPIO_PIN(GPIO_Pin));
if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)Bit_RESET)
{
bitstatus = (uint8_t)Bit_SET;
}
else
{
bitstatus = (uint8_t)Bit_RESET;
}
return bitstatus;
}
```
该函数接受两个参数:GPIOx和GPIO_Pin。GPIOx是一个指向GPIO_TypeDef结构体的指针,它包含了要读取的GPIO引脚所在的端口的寄存器地址。GPIO_Pin是一个表示要读取的GPIO引脚的位掩码。
函数通过使用位掩码在IDR寄存器中读取特定的GPIO引脚输入状态。如果引脚是高电平,函数返回Bit_SET(1),否则返回Bit_RESET(0)。
阅读全文