1,开时钟
查看数据手册:芯片相关资料/STM32固件库使用手册的中文翻译版
找到RCC库函数,需要使能APB2外设时钟,用到函数RCC_APB2PeriphClockCmd
下滑找到该函数的参数返回值等相关信息
根据手册使能时钟代码:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
2,配置GPIO,查找GPIO库函数
GPIO_Init()的第二个参数是指向结构体的指针,
根据参考手册写代码:
GPIO_InitTypeDef GPIO_InitStructure = {0};//定义结构体
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽
GPIO_Init(GPIOE, &GPIO_InitStructure);
3,写应用函数 ,通过控制端口的电平状态控制灯的亮灭
代码如下:
void Led_Open(void)
{
GPIO_ResetBits(GPIOE,GPIO_Pin_2);//置0
// GPIOE->ODR &=~(0x1<<2);//LED1置0
// GPIOE->ODR &=~(0x1<<3);//LED2置0
// GPIOE->ODR &=~(0x1<<4);//LED3置0
// GPIOE->ODR &=~(0x1<<5);//LED4置0
}
void Led_Off()
{
GPIO_SetBits(GPIOE,GPIO_Pin_2);//置1
// GPIOE->ODR |=(0x1<<2);//置1
// GPIOE->ODR |=(0x1<<3);//置1
// GPIOE->ODR |=(0x1<<4);//置1
// GPIOE->ODR |=(0x1<<5);//置1
}