一。首先头文件LED定义
1 # ifndef __Led_H 2 #define __Led_H 3 #include "sys.h" 4 #define LED0 PBout(5) // 5 #define LED1 PEout(5) 6 void LED_Init(void); 7 #endif


二 LED.c
3.GPIO_CRL端口配置低寄存器
GPIO_CRH端口配置高寄存器
GPIO_IDR端口输入寄存器
GPIO_ODR端口输出寄存器
GPIO_BSRR端口位设置/清除寄存器
GPIO-BRR端口位清除寄存器
GPIO_LCKR端口配置锁存寄存器

每一组CNFy[1:0]和MODEx[1:0]为一组;

#include LED.h
void LED_Init()
{
RCC->APB2ENR|=1<<3; //使能PORTB
RCC->APB2ENR|=1<<6; //使能PORTE
GPIOB->CRL&=0XFF0FFFFF; //清0
GPIOB->CRL|=0X00300000; //PB.5推挽输出 3->0011
GPIOB->ODR|=1<<5; //.PBS输出高
GPIOE->CRL&=0XFF0FFFFF; //清0
GPIOE->CRL|=0X00300000; //PE.5推挽输出
GPIOE->ODR|=1<<5; //.PES输出高
}
清0操作:&=把要赋值的那位写0,其他写1;
三.main 函数
#include "delay.h"
#include "sys.h"
#include "led.h"
main()
{
Stm32_Clock_Init(9); //系统时钟设置
delay_init (72); //延时初始化
LED_Init(); //LED连接的硬件接口
while(1)
{
LED1=1;LED0=0;
delay_ms(300);
LED1=0;LED0=1;
delay_ms(300);
}
}