STM32F103检测PB3引脚状态控制PB5输出状态代码
时间: 2024-09-23 17:07:09 浏览: 45
在STM32F103微控制器上,如果你想要通过检测PB3引脚的状态来控制PB5引脚的输出,你可以使用HAL库提供的GPIO功能。以下是一个基本的示例代码片段:
```c
#include "stm32f1xx_hal.h"
void main(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
// 初始化PB3和PB5引脚
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
// 设置PB3为输入模式,PB5为推挽输出模式
GPIO_InitStruct.Pin = GPIO_PIN_3; // PB3
GPIO_InitStruct.Mode = GPIO_MODE_INPUT; // 输入模式
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); // 初始化PB3
GPIO_InitStruct.Pin = GPIO_PIN_5; // PB5
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // 推挽输出模式
GPIO_InitStruct.Pull = GPIO_NOPULL; // 无拉力
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); // 初始化PB5
while (1)
{
if (HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_3) == GPIO_PIN_SET) // 如果PB3被拉低(接地面)
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET); // 则PB5设为高电平(输出高)
}
else
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_RESET); // 否则PB5设为低电平(输出低)
}
}
}
阅读全文