精华内容
下载资源
问答
  • stm32点亮led灯
    千次阅读
    2022-03-26 13:55:25

                                                        STM32的LED控制图

     

                                          led灯电路如上,PB0=8,小灯点亮

    点亮小灯分为3个步骤

    1.使能GPIOB的时钟

    2.将PB8引脚配置为输出引脚

    3.电平置零,点亮led小灯

    代码如下(详细的注释在里面)

    前面的代码不用特意去背,初学者会认即可,随着以后的学习就会有更深刻的理解

    #include "stm32f10x.h"
    
    int main(void)
    {
    		GPIO_InitTypeDef GPIO_InitStructure;
    		RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE); 		//使能GPIOB时钟
    		GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;                   //PB8引脚配置
    		GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;            //配置PB8为推挽输出
            GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;           //GPIOB速度为50MHz
    		GPIO_Init(GPIOB, &GPIO_InitStructure);                      //初始化PB8
            GPIO_SetBits(GPIOB,GPIO_Pin_8);                    //PB8输出高电平,LED熄灭
            
            while(1)
            {
                 GPIO_ResetBits(GPIOB,GPIO_Pin_8);             //PB8输出低电平,LED点亮
            }
    }

    更多相关内容
  • STM32点亮LED灯 代码

    2017-12-03 13:59:46
    详细介绍了有关STM32如何编写LED的过程,并且有附带代码,推荐刚上手的新人读取并下载。
  • stm32点亮LED灯

    2022-05-20 11:37:30
    stm32点亮LED灯 野火烧不尽,春风吹又生,我购买的是野火的指南针开发板,接下来我就以发表动态来跟大家一起学习,也可以让我学习这块开发板更有动力,增加印象。 每一块开发板,第一个例程无一例外就是通过他的GPIO...

    stm32点亮LED灯
    野火烧不尽,春风吹又生,我购买的是野火的指南针开发板,接下来我就以发表动态来跟大家一起学习,也可以让我学习这块开发板更有动力,增加印象。
    每一块开发板,第一个例程无一例外就是通过他的GPIO口点亮一颗led灯

    图中3个led灯的阳极引出连接到3.3V的电源,阴极各通过一个100欧的限流电阻引入stm32的3个GPII引脚中,我们要控制led亮灭,只需控制三个引脚的高低电平。

    我们通过固件库编程来实现led灯的亮灭,stm32的功能非常强大,led是一个RGB灯,里面有红蓝绿三种颜色,使用pwm可以实现256种不同颜色
    具体怎么操作,为什么要使能相关总线还是要了解这个框图

    1.让三颗led灯循环亮灭   
    编程步骤

    (1).使能GPIO端口时钟

    (2).初始化GPIO目标引脚为推挽输出模式,配置相应的速度

    (3).控制GPIO引脚引脚输出高低电平
    一般都通过#define把硬件相关的宏定义封装起来,若改变了GPIO,只需修改这些宏即可。

    为了使工程更加有条理,我们把 LED 灯控制相关的代码独立分开存储,方便以后移植。在“工 程模板”之上新建“bsp_led.c”及“bsp_led.h”文件

    #ifndef __BSP_LED_H 
    #define __BSP_LED_H
    
    #include "stm32f10x.h"
    #define LED_GPIO_PORT  GPIOB
    //这里定义的是LED所在的GPIO
    #define LED_B_GPIO_PIN  GPIO_Pin_1  
    #define LED_G_GPIO_PIN  GPIO_Pin_0
    #define LED_R_GPIO_PIN  GPIO_Pin_5
    //定义GPIO引脚
    //声明
    void LED1_GPIO_Config(void);
    void LED2_GPIO_Config(void);
    void LED3_GPIO_Config(void);
    #endif
    
    
    #include "bsp_led.h"
    
    void LED1_GPIO_Config(void)
    {
    	GPIO_InitTypeDef  GPIO_InitStruct;	
    	//定义一个GPIO_InitTypeDef结构体 
    	
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); 
    	//使能GPIO相关的外部时钟
    	GPIO_InitStruct.GPIO_Pin = LED_B_GPIO_PIN;
    	//选择要控制的GPIO引脚
    	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    	//推挽输出
    	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    	//设置引脚速率为50MHZ
    	GPIO_Init(LED_GPIO_PORT,&GPIO_InitStruct);
    	//调用库函数,初始化GPIO
    }	
    void LED2_GPIO_Config(void)
    {
    	GPIO_InitTypeDef  GPIO_InitStruct;	
    	
    	
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
    	GPIO_InitStruct.GPIO_Pin =LED_G_GPIO_PIN;
    	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    	GPIO_Init(LED_GPIO_PORT,&GPIO_InitStruct);
    }	
    void LED3_GPIO_Config(void)
    {
    	GPIO_InitTypeDef  GPIO_InitStruct;	
    	
    	
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
    	GPIO_InitStruct.GPIO_Pin = LED_R_GPIO_PIN;
    	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    	GPIO_Init(LED_GPIO_PORT,&GPIO_InitStruct);
    }	
    

    具体这些函数怎么实现的,都是固件库编程好相应的库,我们直接调出来用
    想了解推挽输出可以在网上找资料,一堆。

    以下是野火开发实战开源资料的函数执行过程

    (1) 使用 GPIO_InitTypeDef 定义 GPIO 初始化结构体变量,以便下面用于存储 GPIO 配置。 (2) 调用库函数 RCC_APB2PeriphClockCmd 来使能 LED 灯的 GPIO 端口时钟,在前面的章节中 我们是直接向 RCC 寄存器赋值来使能时钟的,不如这样直观。该函数有两个输入参数,第 一个参数用于指示要配置的时钟,如本例中的“RCC_APB2Periph_GPIOB”,应用时我们使 用“|”操作同时配置 3 个 LED 灯的时钟;函数的第二个参数用于设置状态,可输入“Disable” 关闭或“Enable”使能时钟。 (3) 向 GPIO 初始化结构体赋值,把引脚初始化成推挽输出模式,其中的 GPIO_Pin 使用宏 “LEDx_GPIO_PIN”来赋值,使函数的实现方便移植。 (4) 使用以上初始化结构体的配置,调用 GPIO_Init 函数向寄存器写入参数,完成 GPIO 的初始 化,这里的 GPIO 端口使用“LEDx_GPIO_PORT”宏来赋值,也是为了程序移植方便。 (5) 使用同样的初始化结构体,只修改控制的引脚和端口,初始化其它 LED 灯使用的 GPIO 引 论坛:https://www.firebbs.cn/ 174 天猫:https://yehuosm.tmall.com STM32 库开发实战指南 基于野火指南者开发板 脚。 (6) 使用宏控制 RGB 灯默认关闭。
     

    编辑好LED灯的控制函数后,就可以通过main函数来执行了

    #include "stm32f10x.h"
    #include "bsp_led.h"
    void delay(uint32_t count) //定义延时函数
    {
    	for(;count!=0;count--);
    }
    int main(void)
    {
    	LED1_GPIO_Config();  //端口初始化
    	LED2_GPIO_Config();
    	LED3_GPIO_Config();
    	while(1)
    	{
    		GPIO_ResetBits(LED_GPIO_PORT,LED_B_GPIO_PIN); //打开led灯
    		delay(0xffff);//延时
    		GPIO_SetBits(LED_GPIO_PORT,LED_B_GPIO_PIN);//关闭led灯
    		delay(0xffff);
        GPIO_ResetBits(LED_GPIO_PORT,LED_G_GPIO_PIN);
    		delay(0xffff);
    		GPIO_SetBits(LED_GPIO_PORT,LED_G_GPIO_PIN);
    		delay(0xffff);
    		GPIO_ResetBits(LED_GPIO_PORT,LED_R_GPIO_PIN);
    		delay(0xffff);
    		GPIO_SetBits(LED_GPIO_PORT,LED_R_GPIO_PIN);
    		delay(0xffff);
    	
    	}
    }
    

    程序执行成功

    亮了!

     

    展开全文
  • 基于STM32点亮LED灯

    2014-11-08 20:58:14
    基于stm32f103zet6点亮LED灯
  • stm32点亮led灯

    千次阅读 2022-03-24 13:36:22
    学习32第一个程序就是点亮led灯。本人用的是野火的指南者开发板。先上电路图。 如图所示,为led模块电路图,由图可知,此模块为共阳极。只需将引脚变成低电平即可使led灯亮。此次代码点亮B0。代码如下。 stm32要...

    新手学习stm32

    学习32第一个程序就是点亮led灯。本人用的是野火的指南者开发板。先上电路图。

     

    如图所示,为led模块电路图,由图可知,此模块为共阳极。只需将引脚变成低电平即可使led灯亮。此次代码点亮B0。代码如下。

    stm32要进行引脚初始化,led.c文件中定义如下:

    #include "led.h"
    void LED_G_Init(void)//初始化灯
    {
    	GPIO_InitTypeDef GPIO_InitStruct;//结构图定义
    	RCC_APB2PeriphClockCmd(LED_G_CLK,ENABLE);//总线2时钟开关
    	GPIO_InitStruct.GPIO_Pin = LED_G_PIN;//引脚
      GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;//模式为推挽输出
    	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;//设置频率为50HZ
    	GPIO_Init(LED_G_PORT,  &GPIO_InitStruct);//GPIO初始化
    
    }
    

    每使用一个引脚都需要将GPIO进行初始化。

    头文件代码如下:

    #ifndef _DSP_LED_H
    #define _DSP_LED_H
    
    #include "stm32f10x.h"
    
    //定义led灯端口
    #define LED_G_PIN        GPIO_Pin_0
    #define LED_G_PORT        GPIOB
    #define LED_G_CLK        RCC_APB2Periph_GPIOB
    
    //初始化灯
    void LED_G_Init(void);
    
    #endif /*_DSP_LED_H*/
    

    上面就已经将led灯初始化完成了,现在编写主函数:

    int main(void)
    {
    
    	LED_G_Init();//初始化调用
    	GPIO_SetBits(GPIOB, GPIO_Pin_0);//因为初始化使GPIO会初始化为低电平,所以如果不是点评增高,led灯会直接变亮。所以调用此函数,使其电平变高。
    	GPIO_ResetBits(GPIOB, GPIO_Pin_0);//电平为低,点亮灯,这两个函数都是在32库里面的,可直接调用。
    
    }
    

    以上就可点亮一个灯了。虽然不是很难,但刚开始学习使用时因为接触到寄存器的配置,比51还是难很多的,新手还是会迷。

    代码链接:https://pan.baidu.com/s/1CJkXt8mRiO4aNu-pOz5sTg 
    提取码:liu1 
    有什么疑惑可以一起交流。

    展开全文
  • 2、STM32点亮LED灯

    千次阅读 2021-12-15 21:36:47
    1、新建工程,新建一个目录存放以后所有的工程stmproject,在这个目录下新建文件夹寄存器点灯,文件名为LED。 接下来选择所用的软件包,之前安装软件时安装的,选择对应型号即可。 如果需要安装别的安装包可以在这...

    一、寄存器操作


    1、新建工程,新建一个目录存放以后所有的工程stmproject,在这个目录下新建文件夹寄存器点灯,文件名为LED。

    在这里插入图片描述

    接下来选择所用的软件包,之前安装软件时安装的,选择对应型号即可。
    在这里插入图片描述
    如果需要安装别的安装包可以在这个网址下载。点击打开文件
    在这里插入图片描述
    点击next,再点击finish就安装成功了。可以在包安装里找到。
    在这里插入图片描述

    2、新建文件main.c并双击source group文件夹添加进去

    在这里插入图片描述
    在这里插入图片描述

    3、添加启动文件,取官方固件库中根据FLASH大小选择型号,我选大容量hd

    在这里插入图片描述
    在这里插入图片描述
    复制到点灯文件夹后再添加进source group
    在这里插入图片描述
    框架搭好
    在这里插入图片描述

    4、编写main程序通过寄存器控制I/O口输入输出点灯

    使能时钟

    在这里插入图片描述
    本人开发板LED等分别连到PB5和PE5上,所以点亮这两个灯需要使第三位和第六位置一开启时钟。上图给出了偏移地址,还需要知道RCC寄存器的起始地址,由中文参考手册里的存储器映射图可得,
    在这里插入图片描述
    下面写出代码

    	*(unsigned int *) 0x40021018 |=(1<<3);  //使能端口B时钟
    	*(unsigned int *) 0x40021018 |=(1<<6);  //是能端口E时钟
    

    配置端口寄存器,再通过端口寄存器输出数据

    stm32因为引脚太多,所以把引脚分成了几组,每组最多16个引脚,其中32位端口配置低寄存器控制低八位引脚,32位端口配置高寄存器控制高八位引脚。本次只用到了低八位
    在这里插入图片描述
    在这里插入图片描述
    每个引脚分为配置位和模式位4位来配置,首先确定模式位是输入还是输出,再确定输入和是输出模式下具体的模式。上图可以得到端口的起始地址和偏移地址。代码如下:

    	*(unsigned int *) 0x40010C00 &=~(0x0F<<(4*5));  //把配置B端口5引脚那四位清零
    	*(unsigned int *) 0x40010C00 |=(0x01<<(4*5));   //把PB5配置成通用推挽输出,最大速度10MHz
    	*(unsigned int*)0x40011800 &=~(0x0F<<(4*5));  //把配置E端口5引脚那四位清零
    	*(unsigned int*)0x40011800 |=(0x03<<(4*5));   //把PE5配置成通用推挽输出,最大速度10MHz
    
    

    再用端口输出寄存器使PB5和PE5输出低电平(由pcb图可直),由下图可知偏移地址0x0C
    在这里插入图片描述
    io口输出低电平电流才能流过二极管点灯
    在这里插入图片描述
    代码如下:

    *(unsigned int*)0x40010C10 &=~(1<<5);    //B端口5清零
    *(unsigned int*)0x4001180C &=~(1<<5);    //E端口5清零
    

    最后把程序下载到单片机里即可点亮两个小灯。

    总结

    1、首先新建工程时,需要启动文件,main里需要一个系统时钟。
    2、STM32引脚多,为节约资源,每个引脚都需要开启对应时钟。
    3、点亮LED主要是控制GPIO输出高电平或低电平,需要GPIO寄存器来实现。
    4、置零,置一技巧
    某几位置零 &=~(x<<y)
    某位置一 |=(x<<y)
    5、各种地址可以用宏定义表示出来放在一个头文件里,这样程序可读性更高,以后库函数变成就这样,结构相同需要重复的还可用结构体表示。如

    	RCC_APB2ENR |=(1<<3);  //是能端口B时钟
    	
    	GPIOB_CRL &=~(0x0F<<(4*5));  //把配置B端口5引脚那四位清零
    	GPIOB_CRL |=(1<<(4*5));   //把PB5配置成通用推挽输出,最大速度10MHz
    	
    	GPIOB_ODR &=~(1<<5);    //B端口5清零
    

    二、库函数点灯


    1 建立库函数工程模板

    1. 在stmproject文件夹下新建Template文件夹,并新建 USER,CORE,OBJ ,STM32F10x_FWLib这几个文件夹用于装需要的库文件。
      在这里插入图片描述

    2. CORE文件夹需要从固件库中找到三个文件并复制进来,分别在这两条文件路径下寻找:
      1 STM32F1xx固件库 \STM32F10x_StdPeriph _Li b_V3.5. 0\ Libraries \CMSIS \CM3\CoreSupport
      2 STM32F1xx固件库 \STM32F10x_StdPeriph_Lib_V3.5.0 \Libraries\ CMSIS \CM3 \DeviceSupport\ST\STM32F10x\startup\arm里的启动文件
      在这里插入图片描述
      注:hd代表大容量,根据自身的芯片容量选取。

    3. STM32F10x_FWLib文件夹下需要找到两个文件夹并复制进来,在这条路径下:
      STM32F1xx固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries \STM32F10x_StdPeriph_Driver
      在这里插入图片描述

    4. USER文件夹下需要找到6个文件并复制进来,文件路径如下:
      1 STM32F1xx固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\ STM32F10x_StdPeriph_Template
      2 STM32F1xx固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3 \DeviceSupport\ST\STM32F10x
      在这里插入图片描述

    5. OBJ里存放编译完的文件。
      到此为止,模板就建成了,以后需要建立工程之前可以直接复制一份改个名字。

    2 新建库函数点灯工程

    1. 把Template复制一份并改名为库函数点灯
    2. 打开keil5,点击new uVision project ,把工程文件放在库函数点灯下的USER里,取名为LED,然后弹出界面选择自己的芯片,点击ok。
      在这里插入图片描述
    3. 右键点击Target1,选择manage project items,把group栏和files栏变成下图的样子:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      这三个组分别把之前复制到同名文件夹下的.c文件添加进来,CORE多添加了一个启动文件。
    4. 点击魔术棒进入工程配置
      先配置文件输出,点击output,选择OBJ为输出文件夹
      在这里插入图片描述
      再配置C/C++选项卡,在Define中填写STM32F10X_HD,USE_STDPERIPH_DRIVER 配置全局宏定义变量,再把带有头文件的文件夹添加到include paths

    在这里插入图片描述
    5. 再USER文件夹中添加main.c文件,写下如下代码,点击编译,不报错就可以进行代码编写了。
    在这里插入图片描述
    6. 在库函数点灯文件夹下,新建HARDWARE文件夹,再从HARDWARE里新建LED文件夹,LED文件夹里新建两个文件led.c和led.h。
    在这里插入图片描述
    7. 再按照第三步添加HARDWARE组,组里添加led.c,
    添加完写下#include "led.h"编译一下点左边加号就会有led.h,还需要配置一下C/C++选项卡include paths使得可以被找到。
    在这里插入图片描述

    3 调用库函数编写程序点亮

    由上面寄存器点灯可知,点亮小灯就是控制GPIO引脚输出高电平或低电平(根据硬件电路决定),电流流通二极管就发光了。
    所以控制GPIO引脚输出低电平需要的函数要去STMF10x_FWLib中的rcc和gpio文件中找。
    在这里插入图片描述

    1. 先进入rcc的头文件寻找APB2外设时钟使能的函数

      在这里插入图片描述
      点击右键可以回到函数的定义看到函数的参数怎么填
      在这里插入图片描述
    2. 去gpio里找到配置GPIO的函数,也是同上,先去头文件最下找到函数的声明,再右键跳到函数定义。

    在这里插入图片描述
    由于这个函数第二个参数是一个结构体,所以我们需要用这个结构体实例化一个对象,所以可以右键转到结构体的函数定义。
    在这里插入图片描述
    结构体中参数的取值也都在头文件里用枚举和宏定义表示了。
    在这里插入图片描述
    在这里插入图片描述
    最后还需要一个置位复位函数
    在这里插入图片描述
    3. 编写led.c,把PB5和PE5时钟使能,并配置输入输出模式

    #include "led.h"
    void LED_Init(void)
    {
    	//实例化结构体
    	GPIO_InitTypeDef GPIO_InitStruct;
    	
        //使能B和E端口的时钟
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
        
        //配置端口引脚5输入输出模式和速度
        GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5;
    	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        
        //把B和E端口按照上面配置的进行初始化
        GPIO_Init(GPIOB, &GPIO_InitStruct);
        GPIO_Init(GPIOE, &GPIO_InitStruct);    
    }
    
    1. 编写led.h
    #ifndef __LED_H  //避免头文件交叉引用后被重复编译
    #define __LED_H
    
    #include "stm32f10x.h"
    
    void LED_Init(void);  //声明函数
    #endif
    
    1. 编写main.c,调用初始化函数,并通过复位和置位函数控制灯的亮灭
    #include "stm32f10x.h"
    #include "led.h"
    
    //写一个简单的延时函数
    void Delay( uint32_t count)
    {
        for(;count!=0;count--);
    }
    
    int main()
    {	
    	LED_Init();     //调用初始化函数
        while(1)
        {
        	//复位低电平灯亮,置位高电平灯灭
            GPIO_ResetBits(GPIOB,GPIO_Pin_5);    
            GPIO_SetBits( GPIOE,GPIO_Pin_5);
            Delay(0xFFFFF);
            GPIO_SetBits( GPIOB,GPIO_Pin_5);
            GPIO_ResetBits(GPIOE,GPIO_Pin_5);               
            Delay(0xFFFFF);
        }   
    }
    

    此时就可以把程序下载到芯片里,(程序下载见我第一篇文章),此时就可以看到两个等交替亮灭。

    4 程序升级

    上述程序可以达到要求,但是可移植性和查看性不强,可以把GPIO端口、引脚、时钟和控制灯亮灭的置位复位函数都写成宏定义,具体代码如下:
    led.h

    #ifndef __LED_H
    #define __LED_H
    
    #include "stm32f10x.h"
    
    //定义两个灯的端口、引脚和时钟,LED0是PB5,LED1是PE5
    #define LED_0_PIN   GPIO_Pin_5
    #define LED_0_PORT  GPIOB
    #define LED_0_CLK   RCC_APB2Periph_GPIOB
    
    #define LED_1_PIN   GPIO_Pin_5
    #define LED_1_PORT  GPIOE
    #define LED_1_CLK   RCC_APB2Periph_GPIOE
    
    //用LED(ON/OFF)控制两灯亮灭
    #define ON  1
    #define OFF 0
    #define LED0(x) if (x) GPIO_ResetBits(LED_0_PORT,LED_0_PIN);\
                    else  GPIO_SetBits( LED_0_PORT,LED_0_PIN);
    
    #define LED1(x) if (x) GPIO_ResetBits(LED_1_PORT,LED_1_PIN);\
                    else  GPIO_SetBits( LED_1_PORT,LED_1_PIN) ;               
                  
    void LED_Init(void);  //声明初始化函数
    #endif
    

    led.c

    #include "led.h"
    
    void LED_Init(void)
    {
        //实例化配置GPIO模式和速度结构体
    	GPIO_InitTypeDef GPIO_InitStruct;  
    	
        //使能两灯的时钟
        RCC_APB2PeriphClockCmd(LED_0_CLK, ENABLE);
        RCC_APB2PeriphClockCmd(LED_1_CLK, ENABLE);
        
        //配置LED0引脚为推挽输出,速度为50MHz
    	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStruct.GPIO_Pin = LED_0_PIN;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        //调用GPIO初始化函数,对LED0端口按上面配置初始化
        GPIO_Init(LED_0_PORT, &GPIO_InitStruct); 
        
        //配置LED1引脚为推挽输出,速度为50MHz
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStruct.GPIO_Pin = LED_1_PIN;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        //调用GPIO初始化函数,对LED1端口按上面配置初始化
        GPIO_Init(LED_1_PORT, &GPIO_InitStruct);
          
    }
    

    main.c

    #include "stm32f10x.h"
    #include "led.h"
    
    //一个简单的延时函数
    void Delay( uint32_t count)
    {
        for(;count!=0;count--);
    }
    
    int main()
    {
    	//调用初始化函数
    	LED_Init();
        
        //两个灯交替亮灭
        while(1)
        {
            LED0(1);
            LED1(0);
            Delay(0xFFFFF);
            LED0(0);
            LED1(1);        
            Delay(0xFFFFF);
        }  
    }
    
    展开全文
  • 利用STM32F103xx芯片中的TIM3定时器点亮LED灯
  • STM32点亮LED灯.rar

    2022-09-02 17:15:10
    1、普通方式 2、使用宏定义的 3、使用位带操作的
  • STM32点亮LED灯-库函数版

    千次阅读 2021-03-15 21:48:58
    点亮一个LED灯是我们人生中必不可少的,不管是51或STM32,还是其他更底层领域,闲话就不多说啦,进入正题。 控制LED需要使用到GPIO输入和输出IO口
  • STM32入门之点亮LED灯(以STM32F103为例)

    千次阅读 多人点赞 2021-11-16 14:06:49
    入门第一讲点亮LED灯(超详细)
  • 简介:本项目为基于STM32F103R6为核心 的点亮LED工程。单个led灯点亮及闪烁,编写delay函数使led灯固定间隔时间的闪烁。资源提供proteus仿真文件和对应的keil源代码,用户下载后可以直接启动proteus,然后观察试验...
  • STM32点亮LED灯程序

    2020-08-11 07:36:34
    这是一个STM32点亮LED灯程序,含有配置图及相关原理图,简单易懂。
  • 点亮LED程序,基于STM32F407 GPIO 实现,包含流水的点亮和花式电灯。自测电子STM32F407开发板可用。
  • STM32f407中,运用库函数驱动LED灯
  • STM32F409的基于寄存器开发模式点亮LED
  • STM32流水灯实验.zip,STM32流水灯实验,1、LED灯.zip,LED流水灯.rar
  • stm32f103点亮led

    2021-01-19 11:04:59
    stm32f103点亮led
  • 观看洋桃电子stm32入门100步的学习笔记,希望对大家有所帮助
  • 基于HAL库点亮LED灯,这个是最基础的例程,作用一般,不喜勿喷。谢谢! 基于HAL库点亮LED灯,这个是最基础的例程,作用一般,不喜勿喷。谢谢! 基于HAL库点亮LED灯,这个是最基础的例程,作用一般,不喜勿喷。谢谢!
  • STM32CubeMX生成源代码,在STM32F407ZET上面运行的第一个关于点亮LED灯的程序,
  • STM32汇编语言点亮led灯

    千次阅读 2022-02-07 01:28:13
    STM32汇编语言点亮led灯 首先,这篇blog的主要内容是在C语言中调用汇编语言写的函数。即在我们常用的标准库函数工程中,对外设(这里指led)使用汇编语言完成相关的寄存器配置和控制。 一、背景 课程的需要:微机...
  • stm32 点亮LED

    2013-09-01 13:32:09
    stm32 点亮LED简单的应用GPIO
  • 基于STM32F103入门1——点亮LED灯

    万次阅读 多人点赞 2021-08-04 22:48:09
    打开KEIL5新建工程1.3:添加相关文件1.4:手动添加其他文件路径进来2:STM32固件库点灯2.1: 方式1点灯main.c2.2 :方式2点灯main.c2.3 :方式3点灯main.c点灯效果3:STM32闪烁delay.cmain.c闪烁效果4:STM32呼吸...
  • 12-GPIO输出—使用固件库点亮LED灯
  • 基于STM32F103C8T6,使用固件库点亮led灯
  • STM32--点亮LED灯

    千次阅读 2022-03-05 17:36:26
    零基础开始学32,从点灯开始,一步一步来!!
  • stm32——点亮LED

    千次阅读 2021-07-20 19:52:18
    1.点亮LED灯的准备工作 需要了解GPIO的基本工作原理,话不多说,先上图 关于详细的功能介绍,请参考普中科技F407详细资料,今天主要到的是GPIO的推挽输出模式 如图 通过软件向寄存器中写入数据,然后通过图...
  • 采用st公司发布的stm32cube软件生成配置文件,使用hal-stm32fl0x的新库函数。做了一个点亮led灯的实验例程。
  • STM32LED灯点亮

    2022-07-23 00:25:34
    一个关于STM32LED灯简单的闪烁,介绍了STM32的基础步骤,函数的使用和简单的代码
  • stm32点亮led的基础知识

    千次阅读 2022-03-03 17:39:06
    stm32的GPIO的工作方式(浮空输入,上拉输入,下拉输入,模拟输入,开漏输出,开漏复用输出,推挽输出,推挽复用输出)以及点亮led的软件和硬件配置。 文章目录led所需要的知识前言一、stm32的led所需要工作方式二...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,705
精华内容 2,682
关键字:

stm32点亮led灯