1.
打开程序。
2.导入LED的函数与代码;
首先在头文件进行定义。
定义LED0是代表了PA8,LED0代表PD2,为什么是这2个呢?因为能让LED电量的PO口就这2个
随后在.C文件中先进行初始化
要去go to看看函数的定义前得先编译,
并且勾选可以去借用资料
一、先使能IO口时钟调用函数RCC_APB2PeriphClockCmd
这个是在
发现了,里面的函数需要写入
GPIOXX通过原理图我们发现,最终应该是写A与D
二、初始化IO口。调用GPIO INIT()函数
继续go to
这样我们首先发现他需要对GPIOA与GPIOD进行操作
后面的GPIO_InitTypeDef*
得到了他需要对Pin,Speed,Mode进行定义,我们首先在开头进行初始化变量
之后
三、操作IO口,输出高低电平;
led.c代码:
#include "led.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE); //使能PB,PE端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //LED0-->PB.5 端口配置
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //LED1-->PE.5 端口配置, 推挽输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOD, &GPIO_InitStructure); //推挽输出 ,IO口速度为50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOB.5
GPIO_SetBits(GPIOA,GPIO_Pin_8); //PB.5 输出高
GPIO_SetBits(GPIOD,GPIO_Pin_2); //PE.5 输出高
}
.c写完后,写.h
#ifndef __LED_H
#define __LED_H
#include "sys.h"
#define LED0 PAout(8) // PA8
#define LED1 PDout(2) // PD2
void LED_Init(void);//初始化
#endif
添加工程
之后我们添加头文件的路径
添加完后,要调用函数,需要在main里面写