#include "led.h"
#include "stm32f10x.h"
void led_init()
{
//1,GPIO初始化
GPIOB_OUT_init();
//初始化led的状态
GPIO_Write(GPIOB,0xffff);
}
//延时函数(超级超级低配版)
void delay()
{ u16 j,i;
for( i=0; i<1000; i++)
for(j=0; j<1000; j++)
;
}
void LED1_Liushui()
{
u32 t;
int j,i;
t=0x0001;
for( j=0; j<8; j++)
{
GPIO_Write(GPIOB,~t);
delay();
t=t<<1;
}
t=t>>1;
for(i=0; i<8; i++)
{
GPIO_Write(GPIOB,~t);
delay();
t=t>>1;
}
}
void LED2_Liushui()
{
u32 t,m;
int j,i;
u32 s=0x0010; //
u32 x=0x0008;
for(i=0; i<4; i++)
{
t=s|x;
GPIO_Write(GPIOB,~t);
delay();
s=s<<1;
x=x>>1;
}
s=0x0040;
x=0x0002;
for( j=0; j<4; j++)
{
m=s|x;
GPIO_Write(GPIOB,~m);
delay();
s=s>>1;
x=x<<1;
}
}
void LED3_Liushui()
{
u32 t=0x00ff;
int j,i;
for( j=0; j<8; j++)
{
GPIO_Write(GPIOB,~t);
delay();
t=t<<1;
}
t=t>>1;
for(i=0; i<8; i++)
{
GPIO_Write(GPIOB,~t);
delay();
t=t>>1;
}
}
void LED4_Liushui()
{
u32 t=0x00fe;
int j,i;
for( j=0; j<8; j++)
{
GPIO_Write(GPIOB,t);
delay();
t=t<<1;
}
t=t>>1;
for(i=0; i<8; i++)
{
GPIO_Write(GPIOB,t);
delay();
t=t>>1;
}
}
void LED5_Liushui()
{
u32 t=0x0000,t1=0x0001,t2;
int j,i;
for( j=0; j<8; j++)
{
t2=t1|t;
GPIO_Write(GPIOB,t2);
delay();
t1=t1<<1;
}
for(i=0; i<8; i++)
{
t2=t1|t;
GPIO_Write(GPIOB,t2);
delay();
t1=t1>>1;
}
}
void LED6_Liushui()
{
u32 t=0x0000,t1=0x0001,t2;
int j,i;
for( j=0; j<4; j++)
{
t2=t1|t;
GPIO_Write(GPIOB,t2);
delay();
t1=t1<<2;
}
for(i=0; i<4; i++)
{
t2=t1|t;
GPIO_Write(GPIOB,t2);
delay();
t1=t1>>2;
}
}
void LED7_Liushui()
{
int j,i;
u32 t,t1,t2;
t=0x0000,t1=0x0080;
for( j=0; j<4; j++)
{
t2=t1|t;
GPIO_Write(GPIOB,t2);
delay();
t1=t1>>2;
}
for(i=0; i<4; i++)
{
t2=t1|t;
GPIO_Write(GPIOB,t2);
delay();
t1=t1>>2;
}
}
void LED8_Liushui()
{
u32 t=0x0055;
GPIO_Write(GPIOB,t);
delay();
t=~t;
GPIO_Write(GPIOB,t);
delay();
}
void LED9_Liushui()
{
u32 t=0x0099;
GPIO_Write(GPIOB,t);
delay();
t=~t;
GPIO_Write(GPIOB,t);
delay();
}
void LED10_Liushui()
{
u32 t=0x00c3;
GPIO_Write(GPIOB,t);
delay();
t=~t;
GPIO_Write(GPIOB,t);
delay();
}