美文网首页
stm32学习之路--点亮一个LED编码

stm32学习之路--点亮一个LED编码

作者: 飞向深空 | 来源:发表于2018-12-28 11:57 被阅读0次

    目标:使用库函数一个LED闪烁


    main.c

    #include "stm32f10x.h"
    #include "led.h"
    
    typedef unsigned int uint;
    
    void delay(uint i)
    {
        while(i--);
    }
    
    int main()
    {
        LED_INIT();  //初始化LED
        while(1)
        {
            GPIO_ResetBits(GPIO_PORT, GPIO_Pin_0);   //点亮LED0
            delay(0xffff);                                                                
            GPIO_SetBits(GPIO_PORT,GPIO_Pin_0);             //关闭LED0
            delay(0xffff);
        }
    }
    
    

    led.c

    #include "led.h"
    
    void LED_INIT(void)
    {
        GPIO_InitTypeDef  GPIO_InitStructure;  //定义初始化变量
        
        RCC_APB2PeriphClockCmd(GPIO_PORT_RCC, ENABLE);  //开启GPIOC的时钟
        
        GPIO_InitStructure.GPIO_Pin = GPIO_PIN;                              //选择引脚
        GPIO_InitStructure.GPIO_Mode =  GPIO_Mode_Out_PP;      //配置模式
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     //配置速度
        GPIO_Init(GPIOC , &GPIO_InitStructure);                                  //引脚初始化
        
        GPIO_SetBits(GPIO_PORT,GPIO_PIN);                                   //设置所有LED熄灭
    }
    
    

    led.h

    #ifndef  _led_H
    #define _led_H
    
    #include "stm32f10x.h"
    
    /*定义宏方便移植*/
    #define GPIO_PORT_RCC             RCC_APB2Periph_GPIOC
    #define GPIO_PIN                            GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8 
    #define GPIO_PORT                        GPIOC
    
    /*函数*/
    void LED_INIT(void);
    
    
    #endif
    
    

    相关文章

      网友评论

          本文标题:stm32学习之路--点亮一个LED编码

          本文链接:https://www.haomeiwen.com/subject/hgqslqtx.html