美文网首页
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