STM32呼吸灯

#include "stm32f10x.h" //STM32头文件
#include "sys.h"
#include "delay.h"
#define LEDPORT GPIOB //定义IO接口
#define LED1 GPIO_Pin_0 //定义IO接口

void LED_Init(void)
{ 
    GPIO_InitTypeDef  GPIO_InitStructure;  
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC,ENABLE);       
    GPIO_InitStructure.GPIO_Pin = LED1 ;                        
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   
    GPIO_Init(LEDPORT, &GPIO_InitStructure);   
}
 int main (void)
{
  u8 MENU;
  u16 i,t;
  RCC_Configuration(); //时钟设置
  LED_Init();//led初始化
  MENU=0;//标志位
  t=1;
  while(1)
  {
     if(MENU==0)//变亮
     {
        for(i=0;i<10;i++)
       {
        GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1));
        delay_us(t);
        GPIO_WriteBit(LEDPORT,LED1,(BitAction)(0));
        delay_us(301-t); 
       }    
        t++;
        if(t==300)
        {
          MENU=1;
        }

    }
       if(MENU==1)//变暗
     {
          for(i=0;i<10;i++)
        {
           GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1));
           delay_us(t);
           GPIO_WriteBit(LEDPORT,LED1,(BitAction)(0));
           delay_us(301-t);
      }
          t--;
         if(t==1)
       {
           MENU=0;
       }    

     }
   }
}

以上代码是32呼吸灯的代码,供大家参考。
在学习32时,建议大家在用各种资料仿写代码时,多看看32的库函数文件,这样可以加深对代码的理解,同样可以加深印象,更利于对32的学习

猜你喜欢

转载自blog.csdn.net/weixin_44126785/article/details/90574091