led.c
#include"led.h"
void Led_Init(void)
{
GPIO_InitTypeDef GPIO_VALUE; //???
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//???
GPIO_VALUE.GPIO_Mode=GPIO_Mode_Out_PP;//???? ????
GPIO_VALUE.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;//????
GPIO_VALUE.GPIO_Speed=GPIO_Speed_50MHz;//????
GPIO_Init(GPIOC,&GPIO_VALUE);//???
}
void Led_On(int nu)
{
switch(nu)
{
case 0:GPIO_SetBits(GPIOC,GPIO_Pin_1);break;
case 1:GPIO_SetBits(GPIOC,GPIO_Pin_2);break;
case 2:GPIO_SetBits(GPIOC,GPIO_Pin_3);break;
}
}
void Led_Off(int nu)
{
switch(nu)
{
case 0:GPIO_ResetBits(GPIOC,GPIO_Pin_1);break;
case 1:GPIO_ResetBits(GPIOC,GPIO_Pin_2);break;
case 2:GPIO_ResetBits(GPIOC,GPIO_Pin_3);break;
}
}
led.h
#ifndef __LED_H
#define __LED_H
#include "stm32f10x_conf.h"
extern void Led_Init(void);
extern void Led_On(int opt);
extern void Led_Off(int opt);
#endif
main.c
#include "led.h"
int main(void)
{
int i,j;
Led_Init();
while(1){
Led_On(0);
for(i=0;i<1000;i++)
for(j=0;j<1000;j++);
Led_Off(0);
Led_On(1);
for(i=0;i<1000;i++)
for(j=0;j<1000;j++);
Led_Off(1);
Led_On(2);
for(i=0;i<1000;i++)
for(j=0;j<1000;j++);
Led_Off(2);
}
return 0;
}