写一段stm32f103c8t6的io初始化,io为pb5,功能为按键输入,写出他的.c和.h,和可以直接使用的函数
时间: 2024-05-01 17:17:59 浏览: 87
好的,我来回答你的问题。以下是初始化 PB5 为按键输入的 STM32F103C8T6 的 .c 和 .h 文件的代码:
.pb5_config.h 文件:
```c
#ifndef __PB5_CONFIG_H
#define __PB5_CONFIG_H
#include "stm32f1xx_hal.h"
void PB5_init(void);
#endif // __PB5_CONFIG_H
```
.pb5_config.c 文件:
```c
#include "pb5_config.h"
void PB5_init(void) {
GPIO_InitTypeDef GPIO_InitStruct = {0};
// 使能 GPIOB 时钟
__HAL_RCC_GPIOB_CLK_ENABLE();
// 配置 GPIOB.5
GPIO_InitStruct.Pin = GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
```
可以直接使用的函数:
```c
void PB5_init() {
GPIO_InitTypeDef GPIO_InitStruct = {0};
// 使能 GPIOB 时钟
__HAL_RCC_GPIOB_CLK_ENABLE();
// 配置 GPIOB.5
GPIO_InitStruct.Pin = GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
```
这样你就可以将以上代码添加到你的工程中,直接调用 PB5_init() 函数即可初始化 PB5 为按键输入。
阅读全文