#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的学习