有main.c,stm32f4xx_rcc.c,stm32f4xx_gpio.c,stm32f4xx_gpio.h,usart.c,delay.c,
外设需要写HARDWARE一个文件夹,在写一个LED文件夹,进去在写led.h和led.c文档。
头文件重定义
led.h
#ifndef __LED_H
#define __LED_H
void LED_Init(void);
#endif
led.c
#include "led.h"
#include "stm32f4xx.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE); //使能IO口的时钟
//F9
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_OUT; //输出模式
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_OType=GPIO_OType_PP; //输出类型
GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_UP; //上拉
GPIO_SetBits(GPIOF,GPIO_Pin_9); //输出高电平
//F10
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_OType=GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(GPIOF,&GPIO_InitStruct); //IO口初始化
GPIO_SetBits(GPIOF,GPIO_Pin_10); //输出高电平
}
main.c
#include "stm32f4xx.h"
#include "led.h"
#include "delay.h"
int main(void)
{
delay_init(168);
LED_Init();
while(1)
{
GPIO_SetBits(GPIOF, GPIO_Pin_9);
GPIO_SetBits(GPIOF, GPIO_Pin_10);
delay_ms(500);
GPIO_ResetBits(GPIOF,GPIO_Pin_9);
GPIO_ResetBits(GPIOF,GPIO_Pin_10); //设置低电平
delay_ms(500);
}
}