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;