stm32入门流程

// 使用固件库点亮 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

 

posted on 2023-02-17 16:45  flash610  阅读(38)  评论(0编辑  收藏  举报