led.h
#ifndef _LED_H
#define _LED_H
#include "stm32f4xx.h"
#include "delay.h"
//RED
#define LED_RED_GPIO_PORT GPIOB
#define LED_RED_PIN GPIO_PIN_1
//GREEN
#define LED_GREEN_GPIO_PORT GPIOB
#define LED_GREEN_PIN GPIO_PIN_0
//RED_ON,OFF
#define LED_RED_ON HAL_GPIO_WritePin(LED_RED_GPIO_PORT,LED_RED_PIN,GPIO_PIN_RESET);
#define LED_RED_OFF HAL_GPIO_WritePin(LED_RED_GPIO_PORT,LED_RED_PIN,GPIO_PIN_SET);
//GREEN_ON,OFF
#define LED_GREEN_ON HAL_GPIO_WritePin(LED_GREEN_GPIO_PORT,LED_GREEN_PIN,GPIO_PIN_RESET);
#define LED_GREEN_OFF HAL_GPIO_WritePin(LED_GREEN_GPIO_PORT,LED_GREEN_PIN,GPIO_PIN_SET);
//RED_Blinker
#define LED_RED_Blinker LED_RED_ON;
delay_ms(500);
LED_RED_OFF;
delay_ms(500);
//GREEN_Blinker
#define LED_GREEN_Blinker LED_GREEN_ON;
delay_ms(500);
LED_GREEN_OFF;
delay_ms(500);
//RED_GREEN_Blinker
#define LED_RED_GREEN_Blinker LED_RED_ON;
delay_ms(500);
LED_RED_OFF;
LED_GREEN_ON;
delay_ms(500);
LED_GREEN_OFF;
void LED_Init(void);
#endif
led.c
#include "led.h"
void LED_Init()
{
GPIO_InitTypeDef LED_GPIO_InitStructure;
__HAL_RCC_GPIOB_CLK_ENABLE(); //led.cÎļþÖÐÓëΨһµÄ²»Í¬ÊÇʱÖÓʹÄÜÄظö²»Ò»Ñù
//RED_Config
LED_GPIO_InitStructure.Pin=LED_RED_PIN;
LED_GPIO_InitStructure.Mode=GPIO_MODE_OUTPUT_PP;
LED_GPIO_InitStructure.Pull=GPIO_PULLUP;
LED_GPIO_InitStructure.Speed=GPIO_SPEED_FREQ_VERY_HIGH;
HAL_GPIO_Init(LED_RED_GPIO_PORT,&LED_GPIO_InitStructure);
//GREEN_Config
LED_GPIO_InitStructure.Pin=LED_GREEN_PIN;
HAL_GPIO_Init(LED_GREEN_GPIO_PORT,&LED_GPIO_InitStructure);
LED_RED_OFF;
LED_GREEN_OFF;
}
main
#include "led.h"
int main(void)
{
HAL_Init();
Stm32_Clock_Init(360,25,2,8);
delay_init(180);
LED_Init();
while(1)
{
LED_RED_GREEN_Blinker;
}
}