写一个stm 32c8t6输出PB14按键一控制PA 8LED灯按下亮松开灭
时间: 2024-05-09 07:18:05 浏览: 134
您可以使用以下的代码实现您的需求:
```c
#include "stm32f1xx_hal.h"
int main(void)
{
// 初始化 HAL 库
HAL_Init();
// 初始化 GPIOB 和 GPIOA 的时钟
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
// 初始化 PB14 为输入口,PA8 为输出口
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Pin = GPIO_PIN_14;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_8;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
while (1)
{
// 判断 PB14 是否按下
if (HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_14) == GPIO_PIN_RESET)
{
// 按下 PB14,亮起 PA8
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET);
}
else
{
// 松开 PB14,熄灭 PA8
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET);
}
}
}
```
阅读全文