点亮stm32f103rbt6单片机LED灯


        LED电路

        stm32f103中LED灯的电路图

      stm32f103rmt6引脚图

                                                stm32的引脚图

核心代码

//led.c文件

void led_init(void){

    GPIO_InitTypeDef Gpio_Value;

    //通过APB2总线使能gpio组的时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Peroph_GPIOC,ENABLE);
    
    //初始化GPIO 1 2 3管脚 根据芯片引脚图可以找到这三个引脚
    Gpio_Value.GPIO_Pin=GPIO_Pin_1 | GPIO_Pin_2 |GPIO_Pin_3;
    
    //将管脚设置为推挽输出模式

    //设置频率
    Gpio_Value.GPIO_Speed=GPIO_Speed_50MHz;
    
    GPIO_Init(GPIOC,&Gpio_Value);
}

//设置led灯的开关

void led_on(int num){
    
    switch(num){
        case 0:
            GPIO_SetBits(GPIOC,GPIO_Pin_1);        //将引脚设置为高电平
        break;
        case 1:
            GPIO_SetBits(GPIOC,GPIO_Pin_2);
        break;
        case 2:
            GPIO_SetBits(GPIOC,GPIO_Pin_3);
        break;

    }
    return ;
}

void led_off(int num){

 switch(num){
        case 0:
            GPIO_ResetBits(GPIOC,GPIO_Pin_1);        //将引脚设置为低电平
        break;
        case 1:
            GPIO_ResetBits(GPIOC,GPIO_Pin_2);
        break;
        case 2:
            GPIO_ResetBits(GPIOC,GPIO_Pin_3);
        break;

    }
    return ;



}
//main函数文件

#include "led.h"


int main(){

    led_init();   //初始化

    while(1){   //写一个while死循环让程序一直运行
    
      led_on(0);
      led_on(1);
      led_on(2);
        
        //delay()写一个延时函数实现灯亮灭
    
       /*
       led_off(0);
        led_off(1);   //不关闭灯将一直亮
        led_off(2);
        */

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值