使用库函数点亮LED灯
led.h
#ifndef _LED_H
#define _LED_H
#include "stm32f10x.h"
#define LED_PORT_RCC RCC_APB2Periph_GPIOC
#define LED_PIN GPIO_Pin_0
#define LED_PORT GPIOC
void LED_Init(void);
#endif
led.c
#include "led.h"
void LED_Init()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin=LED_PIN;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(LED_PORT,&GPIO_InitStructure);
GPIO_SetBits(LED_PORT,LED_PIN);
}
main.c
#include "stm32f10x.h"
#include "led.h"
int main()
{
LED_Init();
while(1)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_0);
}
}
LED点亮的四种方法
GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1));
delay_us(50000);
GPIO_WriteBit(LEDPORT,LED1,(BitAction)(0));
delay_us(50000);
GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1-GPIO_ReadOutputDataBit(LEDPORT,LED1)));
delay_ms(500);
GPIO_SetBits(LEDPORT,LED1);
delay_s(1);
GPIO_ResetBits(LEDPORT,LED1);
delay_s(1);
GPIO_Write(LEDPORT,0x0001);
delay_s(2);
GPIO_Write(LEDPORT,0x0000);
delay_s(2);