STM32 LED闪烁程序框架
浏览量:1890
时间:2024-08-18 15:53:02
作者:采采
下面介绍了一个基于STM32的LED闪烁程序的框架,包括各个步骤的详细解释。
程序总体框架
首先是程序的总体框架,代码如下:
include "led.h" int main(void) { LED_Init(); while(1) { led_display(); } }
LED初始化函数
LED初始化函数用于配置系统时钟、打开相应管脚的时钟以及配置端口。代码如下:
include "led.h" /*延时函数*/ void delay(u32 i) { while(i--); } /*LED初始化函数*/ void LED_Init() { SystemInit(); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO__Pin GPIO_Pin_All; GPIO__Mode GPIO_Mode_Out_PP; GPIO__Speed GPIO_Speed_50MHz; GPIO_Init(GPIOD, GPIO_InitStructure); }
LED驱动函数
LED驱动函数用于控制LED的亮灭。代码如下:
include "led.h" void led_display() { GPIO_SetBits(GPIOD, GPIO_Pin_All); delay(6000000); GPIO_ResetBits(GPIOD, GPIO_Pin_All); delay(6000000); }
LED头文件
以下是LED头文件的内容:
ifndef _LED_H define _LED_H includevoid LED_Init(void); void led_display(void); endif
配置系统时钟
在STM32中配置时钟是很重要的,可以通过一个库函数来配置系统时钟为72Mhz。代码如下:
SystemInit();
打开相应的管脚的时钟
配置好系统的时钟之后,需要打开相应外设的时钟。在本例中,使用的是PD端口的13号管脚,所以需要打开端口D的时钟。代码如下:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
配置端口
打开相应端口的时钟之后,需要进行相应的配置。在本例中,只使用了PD13管脚,所以只需配置PD13。代码如下:
GPIO_InitTypeDef GPIO_InitStructure; GPIO__Pin GPIO_Pin_13; GPIO__Mode GPIO_Mode_Out_PP; GPIO__Speed GPIO_Speed_50MHz; GPIO_Init(GPIOD, GPIO_InitStructure);
延时函数
延时函数是自己定义的函数,用于进行简单的延时操作。代码如下:
void delay(u32 i) { while(i--); }
以上就是关于STM32 LED闪烁程序的详细介绍和代码解析。通过这个程序框架,可以实现LED的闪烁效果。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
下一篇
如何打开Excel的打印预览页面