ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

stm32——跑马灯实验——1

2021-12-31 20:33:42  阅读:206  来源: 互联网

标签:输出 Pin 初始化 stm32 跑马灯 Init InitStructure GPIO 实验


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

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有