STM32F103流水灯实验

#include "led.h"
//初始化PB5和PE5为输出口.并使能这两个口的时钟    
//LED IO初始化
void LED_Init(void)
{
 
 GPIO_InitTypeDef  GPIO_InitStructure; 
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE); //使能PB,PE端口时钟
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //LED0-->P8.5 端口配置
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //通用推挽输出
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
 GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOA.8
 GPIO_SetBits(GPIOA,GPIO_Pin_8); //PA.8 输出,高SD0红灯
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;     //LED1-->PD.2 端口配置, 推挽输出
 GPIO_Init(GPIOD, &GPIO_InitStructure);   //推挽输出 ,IO口速度为50MHz
 GPIO_SetBits(GPIOD,GPIO_Pin_2); //PD.2 输出高 
}
 

#include "led.h"

#include "delay.h"

#include "sys.h"

 int main(void)

 {
delay_init();     //延时函数初始化  
LED_Init();   //初始化与LED连接的硬件接口
while(1)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_8); //LED0输出低
GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1输出高
delay_ms(300);
GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0输出高
GPIO_ResetBits(GPIOD,GPIO_Pin_2);//LED1输出低
delay_ms(300);
}
 }

猜你喜欢

转载自blog.csdn.net/qq_31530791/article/details/80645062