其他分享
首页 > 其他分享> > stm32——跑马灯实验——1

stm32——跑马灯实验——1

作者:互联网

目标:实现小灯的交替闪烁

1.灯的初始化:

使能灯对应的IO口的时钟: RCC_APB2PeriphClockCmd()

对灯的对应IO口进行端口配置 GPIO_Init()

端口电平设置:GPIO_SetBits()、GPIO_ResetBits()

2.主函数:int main(void)

延时函数初始化:delay_init();

灯初始化:LED_Init();

while(

LED0亮

LED1灭

LED0灭

LED1亮

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-->PB.5 端口配置
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 //推挽输出---一起设置了
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 //IO口速度为50MHz

 GPIO_Init(GPIOA, &GPIO_InitStructure);					 //根据设定参数初始化GPIOB.5

 GPIO_SetBits(GPIOA,GPIO_Pin_8);						 //PB.5 输出高

 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;	    		 //LED1-->PE.5 端口配置, 推挽输出
 GPIO_Init(GPIOD, &GPIO_InitStructure);	  				 //推挽输出 ,IO口速度为50MHz

 GPIO_SetBits(GPIOD,GPIO_Pin_2); 						 //PE.5 输出高 
}

 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);
	}
 }

标签:输出,Pin,初始化,stm32,跑马灯,Init,InitStructure,GPIO,实验
来源: https://blog.csdn.net/weixin_47295886/article/details/122261851