stm32f103c8t6 pc13 pc14 pc15 库函数
时间: 2025-01-09 20:52:35 AIGC 浏览: 162
### STM32F103C8T6 PC13, PC14 和 PC15 引脚的 HAL 库函数使用
对于 STM32F103C8T6 单片机而言,PC13、PC14 和 PC15 这些引脚可以通过 HAL 库方便地进行操作。下面详细介绍如何配置并使用这些引脚。
#### 配置 GPIO 引脚作为输出模式
为了使能特定端口上的GPIO外设时钟,在初始化阶段需调用 `__HAL_RCC_GPIOX_CLK_ENABLE()` 函数[X代表具体使用的GPIO组]。针对本案例中的三个引脚属于 C 组,则应启用 RCC 对于 GPIOC 的时钟:
```c
// 启用 GPIOC 时钟
__HAL_RCC_GPIOC_CLK_ENABLE();
```
接着定义相应的 GPIO 初始化结构体变量,并设置参数来指定工作模式(输入/输出)、速度等级以及上下拉状态等属性:
```c
GPIO_InitTypeDef GPIO_InitStruct = {0};
// 设置为推挽输出模式,低速
GPIO_InitStruct.Pin = GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
// 根据上述参数初始化选定的 GPIO 引脚
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
```
以上代码片段完成了对这三个引脚的基础配置过程[^1]。
#### 控制 LED 或其他设备的状态切换
一旦完成前述步骤之后就可以很方便地改变目标引脚电平高低从而达到控制外部电路的目的了。比如要让连接到某个引脚上的LED亮起或熄灭的话只需要分别执行如下命令即可:
```c
// 将 PC13 设定为高电平 (点亮 LED)
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
// 将 PC13 设定为低电平 (关闭 LED)
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
```
同样的方式也可以应用于其它两个引脚(PC14 和 PC15),只需替换对应的 Pin 宏定义即可。
值得注意的是如果涉及到更复杂的逻辑运算如读取当前引脚状态再做相应处理则可借助`HAL_GPIO_ReadPin()` 来获取实时数据。
阅读全文
相关推荐


















