#include "stm32f10x.h"

void led1Config(void);
void led1On(void);
void led1Off(void);

void led2Config(void);
void led2On(void);
void led2Off(void);

void delay(unsigned long x);

int main(){
	int T = 300;
	int T1 = 0;
	int T2 = T;
	int deltaT = 10;
	
	int flag = 1;
	int i0;
	led1Config();
	led2Config();
	
	while(1){
	
		T1 = T1 + deltaT * flag;
		T2 = T - T1;
		if(T1 >= T) T1 = T, flag = -1;
		if(T1 <= 0) T1 = 0, flag = 1;
		
		for(i0=0; i0<100; ++i0){
			led1On();
			led2On();
			delay(T1);
			led1Off();
			led2Off();
			delay(T2);
		}
		if(i0 >= 100) i0 = 0;
		
	}
}


void led1Config(void){
	GPIO_InitTypeDef GPIO_InitStructure1;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
	GPIO_InitStructure1.GPIO_Pin = GPIO_Pin_5;
	GPIO_InitStructure1.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure1.GPIO_Speed = GPIO_Speed_2MHz;
	GPIO_Init(GPIOE, &GPIO_InitStructure1);

}


void led2Config(void){
	GPIO_InitTypeDef GPIO_InitStructure2;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
	GPIO_InitStructure2.GPIO_Pin = GPIO_Pin_5;
	GPIO_InitStructure2.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure2.GPIO_Speed = GPIO_Speed_2MHz;
	GPIO_Init(GPIOB, &GPIO_InitStructure2);

}

void led1On(){
	GPIO_ResetBits(GPIOE, GPIO_Pin_5);
}

void led1Off(){

	GPIO_SetBits(GPIOE, GPIO_Pin_5);
}

void led2On(){
	GPIO_ResetBits(GPIOB, GPIO_Pin_5);
}

void led2Off(){
	GPIO_SetBits(GPIOB, GPIO_Pin_5);
}

void delay(unsigned long x){
	unsigned long i, j;
	for(i=0; i<x; ++i)
		for(j=0; j<112;++j);
}

//SARMCM3.DLL  -REMAP
//DCM.DLL -pCM3
