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; } }