// 使用固件库点亮 LED
int main(void)
{
    // 定义一个 GPIO_InitTypeDef 类型的结构体
     GPIO_InitTypeDef GPIO_InitStructure;
    // 开启 GPIO 端口时钟
    RCC_APB2ENR |= (1<<3);
    // 选择要控制的 GPIO 引脚
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    // 设置引脚模式为通用推挽输出
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    // 设置引脚速率为 50MHz
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    
    // 调用库函数,初始化 GPIO 引脚
    GPIO_Init(GPIOB, &GPIO_InitStructure);
    // 使引脚输出低电平,点亮 LED1
    GPIO_ResetBits(GPIOB,GPIO_Pin_0);
    // 调用库函数,初始化 GPIO 引脚
    while (1)
    {
    // 使引脚输出低电平,点亮 LED
    GPIO_ResetBits(GPIOB,GPIO_Pin_0);
    
    /*延时一段时间*/
    Delay(0xFFFF);
    
    /*使引脚输出高电平,关闭 LED1*/
    GPIO_SetBits(GPIOB,GPIO_Pin_0);
    
    /*延时一段时间*/
    Delay(0xFFFF);
    }
}
 
![]()
![]() 
typedef struct
{
//选择要配置的 GPIO 引脚可输入 GPIO_Pin_ 定义的宏 
uint16_t GPIO_Pin; 
//选择 GPIO 引脚的速率可输入 GPIOSpeed_TypeDef 定义的枚举值
GPIOSpeed_TypeDef GPIO_Speed; 
//选择 GPIO 引脚的工作模式可输入 GPIOMode_TypeDef 定义的枚举值
GPIOMode_TypeDef GPIO_Mode; 
} GPIO_InitTypeDef;
 
View Code