小学期七月份第二日学习

今天学习简单控制开发板的LED灯。

开发板实物图如下:


开发板原理图如下


代码如下:

#include "stm32f4xx.h"


void delay(int n)
{
	int m ;
	
	while(n--)
	{
	
		for( m = 40000;m>0;m--);
	}

}


int main(void)
{
	
	GPIO_InitTypeDef GPIO_InitStruct;
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);//打开控制GPIO的开关
	

	GPIO_InitStruct.GPIO_Mode =  GPIO_Mode_OUT;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_OD;
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9;
	GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz ;
	
	
	
	GPIO_Init(GPIOF, &GPIO_InitStruct);
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
	

	GPIO_InitStruct.GPIO_Mode =  GPIO_Mode_OUT;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_OD;
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10;
	GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz ;
	
	
	
	GPIO_Init(GPIOF, &GPIO_InitStruct);
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
	

	GPIO_InitStruct.GPIO_Mode =  GPIO_Mode_OUT;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_OD;
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;
	GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz ;
	
	
	
	
	GPIO_Init(GPIOE, &GPIO_InitStruct);
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
	

	GPIO_InitStruct.GPIO_Mode =  GPIO_Mode_OUT;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_OD;
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_14;
	GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz ;
	
//	GPIO_Init(GPIOE, &GPIO_InitStruct);


while(1)
	{
	//同时亮灭
	GPIO_ResetBits(GPIOF, GPIO_Pin_9);//设置低电平,控制灯亮
		delay(500);
		
	GPIO_SetBits(GPIOF, GPIO_Pin_9);//设置高电平,控制灯灭
		delay(500);
	
	GPIO_ResetBits(GPIOF, GPIO_Pin_10);
		delay(500);
		
	GPIO_SetBits(GPIOF, GPIO_Pin_10);
		delay(500);
	
	GPIO_ResetBits(GPIOE, GPIO_Pin_13);
		delay(500);
		
	GPIO_SetBits(GPIOE, GPIO_Pin_13);
		delay(500);
	
	GPIO_ResetBits(GPIOE, GPIO_Pin_14);
		delay(500);
		
	GPIO_SetBits(GPIOE, GPIO_Pin_14);
		delay(500);
	
	
	//两两闪烁
		/*
		GPIO_ResetBits(GPIOF, GPIO_Pin_9);
		GPIO_ResetBits(GPIOE, GPIO_Pin_13);
		GPIO_SetBits(GPIOF, GPIO_Pin_10);
		GPIO_SetBits(GPIOE, GPIO_Pin_14);
		delay(500);
		
		GPIO_ResetBits(GPIOF, GPIO_Pin_10);
		GPIO_ResetBits(GPIOE, GPIO_Pin_14);
		GPIO_SetBits(GPIOF, GPIO_Pin_9);
		GPIO_SetBits(GPIOE, GPIO_Pin_13);
		delay(500);	
		*/
		
		
	//一亮三灭
		/*
		GPIO_ResetBits(GPIOF, GPIO_Pin_9);
		GPIO_SetBits(GPIOF, GPIO_Pin_10);
		GPIO_SetBits(GPIOE, GPIO_Pin_13);
		GPIO_SetBits(GPIOE, GPIO_Pin_14);
		delay(500);
		
		GPIO_ResetBits(GPIOF, GPIO_Pin_10);
		GPIO_SetBits(GPIOF, GPIO_Pin_9);
		GPIO_SetBits(GPIOE, GPIO_Pin_13);
		GPIO_SetBits(GPIOE, GPIO_Pin_14);
		delay(500);	
		
		GPIO_ResetBits(GPIOE, GPIO_Pin_13);
		GPIO_SetBits(GPIOF, GPIO_Pin_9);
		GPIO_SetBits(GPIOF, GPIO_Pin_10);
		GPIO_SetBits(GPIOE, GPIO_Pin_14);
		delay(500);	
		
		GPIO_ResetBits(GPIOE, GPIO_Pin_14);
		GPIO_SetBits(GPIOF, GPIO_Pin_9);
		GPIO_SetBits(GPIOF, GPIO_Pin_10);
		GPIO_SetBits(GPIOE, GPIO_Pin_13);delay(500);
		*/
		
		//3亮1灭
 /*
  GPIO_ResetBits(GPIOF, GPIO_Pin_10);
  GPIO_ResetBits(GPIOE, GPIO_Pin_13);
  GPIO_ResetBits(GPIOE, GPIO_Pin_14);
  GPIO_SetBits(GPIOF, GPIO_Pin_9);
  delay(500);

  GPIO_ResetBits(GPIOF, GPIO_Pin_10);
  GPIO_ResetBits(GPIOE, GPIO_Pin_13);
  GPIO_ResetBits(GPIOE, GPIO_Pin_14);
  GPIO_SetBits(GPIOF, GPIO_Pin_10);
  delay(500);

  GPIO_ResetBits(GPIOF, GPIO_Pin_9);
  GPIO_ResetBits(GPIOF, GPIO_Pin_10);
  GPIO_ResetBits(GPIOE, GPIO_Pin_14);
  GPIO_SetBits(GPIOE, GPIO_Pin_13);
  delay(500);

  GPIO_ResetBits(GPIOF, GPIO_Pin_9);
  GPIO_ResetBits(GPIOF, GPIO_Pin_10);
  GPIO_ResetBits(GPIOE, GPIO_Pin_13);
  GPIO_SetBits(GPIOE, GPIO_Pin_14);
  delay(500);
  */
	}
		}

猜你喜欢

转载自blog.csdn.net/qq_40267876/article/details/80904113