zoukankan      html  css  js  c++  java
  • HAL库实现LED灯闪烁

    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;
        }
    }
  • 相关阅读:
    设计模式之结构型外观模式
    设计模式之结构型装饰者模式
    设计模式之结构型组合模式
    设计模式之创建型建造者模式
    设计模式之创建型原型模式
    设计模式之创建型单例模式
    设计模式之创建型抽象工厂模式
    设计模式之创建型工厂模式
    设计模式之创建型简单工厂模式
    找出数组出现最多的元素,并返回出现的下标
  • 原文地址:https://www.cnblogs.com/CaiFengYuanXing/p/13624014.html
Copyright © 2011-2022 走看看