STM32单片机点亮一个led灯的程序
时间: 2023-07-16 18:15:41 浏览: 106
以下是一个使用STM32单片机点亮一个LED灯的基本程序,使用的是HAL库:
```c
#include "stm32f1xx_hal.h"
int main(void)
{
// 1. 初始化MCU
HAL_Init();
// 2. 初始化时钟
SystemClock_Config();
// 3. 初始化GPIO
GPIO_InitTypeDef GPIO_InitStruct = {0};
// a. 使能GPIOB时钟
__HAL_RCC_GPIOB_CLK_ENABLE();
// b. 配置PB0引脚为输出模式、推挽输出、无上下拉
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
// 4. 使LED灯点亮
while (1)
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
HAL_Delay(1000);
}
}
```
解释:
1. 初始化MCU:调用HAL库的初始化函数,初始化所有外设。
2. 初始化时钟:配置系统时钟,使其运行在合理的频率下。
3. 初始化GPIO:配置LED灯所连接的GPIO引脚。
1. 使能GPIOB时钟:GPIOB是一个GPIO端口,需要先使能其时钟才能使用。
2. 配置PB0引脚为输出模式、推挽输出、无上下拉:PB0是一个GPIO引脚,需要配置其为输出模式,并且使用推挽输出模式和无上下拉。
4. 使LED灯点亮:使用HAL库提供的GPIO操作函数,使LED灯在循环中不停地闪烁。
需要注意的是,以上代码只是一个基本的程序框架,具体使用时需要根据实际情况进行修改。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)