1.打开工程模板,删除其他不重要的库文件,把main()函数里的内容删除; 不用的外设固件库文件可以删掉,节省编译时间 rcc 时钟使能 usart 串口 复用映射 setbits 设置高电平 resetbits 低电平 2,在工程文件夹里新建一个HARDWARE文件夹,里边放你想写的程序标题(如LED) 3,在工程里添加这个文件夹 4,新建.c 和 .h 文件,然后添加到HARDWARE文件夹下面 5.因为定义了一个.h头文件,我们需要把他加到头文件路径里,
因为要输出高低电平,所以采用推挽(上拉)输出(PS:推挽可以输出强高低电平,开漏只能输出强低电平)
void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; //定义一个结构体 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//时钟使能 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;// LED的IO口 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //输出 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉 GPIO_Init(GPIOF, &GPIO_InitStructure); //初始化完成 GPIO_SetBits(GPIOF,GPIO_Pin_9 | GPIO_Pin_10); //灯是灭的 初始化要给高电平 }
输入 输出 复用 模拟 四种模式 输出类型 推挽 或 开漏
int main(void) { delay_init(168);//延时函数初始化 根据时钟设置 一秒 LED_Init();//LED初始化 while(1) { GPIO_SetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);//拉高同时灭 delay_ms(500); GPIO_ResetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);拉低同时亮 delay_ms(500); }