当我们学过51单片机之后就知道在51单片机中点亮一个LED很简单一句代码就可以实现。只需要将LED所连接的IO口拉低就可以点亮LED。

但是在STM32中,点亮LED确实比51要麻烦很多。

一样,在STM32中点亮LED也是属于基本的IO口的使用,所以每当我们需要点亮LED时就需要正确配置IO口。STM32的IO口相比51单片机而言要复杂很多,所以用起来也很困难。

下面就是点亮LED的代码,并且使用延时实现LED闪烁。

main.c

#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
#include "sys.h"int main(void)
{LED_Init();delay_init();while(1){
//      GPIO_SetBits(GPIOB,GPIO_Pin_5);        //点亮LED0
//      GPIO_ResetBits(GPIOE,GPIO_Pin_5);      //关闭LED1
//      delay_ms(500);                         //软件延时500ms
//      GPIO_SetBits(GPIOE,GPIO_Pin_5);        //点亮LED1
//      GPIO_ResetBits(GPIOB,GPIO_Pin_5);      //关闭LED0
//      delay_ms(500);                         //软件延时500msLED0 = 1;        //关闭LED0LED1 = 0;        //点亮LED1delay_ms(500);   //软件延时500msLED0 = 0;        //点亮LED0LED1 = 1;        //关闭LED1delay_ms(500);   //软件延时500ms}
}

led.c

#include "led.h"void LED_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE);//设能PB和PE口GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;         //LED0->PB5  端口配置GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  //速度50MHzGPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出GPIO_Init(GPIOB, &GPIO_InitStructure);            //根据参数设定参数配置GPIOGPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;          //LED1->PE5  端口配置GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  //速度50MHzGPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出GPIO_Init(GPIOE, &GPIO_InitStructure);            //根据参数设定参数配置GPIO
}

led.h

#ifndef __LED_H__
#define __LED_H__#include "sys.h"#define LED0 PBout(5)
#define LED1 PEout(5)void LED_Init(void);#endif

STM32F103(库函数)——点亮LED并且使用软件延时实现led闪烁相关推荐

  1. 普中仿真器无法使用解决方法和用库函数点亮LED灯

    文章目录 解决普中stm32F103玄武无法仿真问题 使用库函数点亮LED灯 解决普中stm32F103玄武无法仿真问题 问题描述 该开发板可以使用串口下载程序,但是无法仿真.每一次仿真,总是会出现 ...

  2. STM32笔记2-使用库函数点亮LED灯

    目录 一.硬件电路设计 二.软件设计 1.工程配置 2.程序编写 (1)led头文件 (2)Led_Init()函数编写 三.实验测试 四.使用宏定义 1.修改后的led.h中程序 2.修改后的Led ...

  3. stm32核心板可以点亮灯吗_STM32库函数点亮LED

    很多码农写出的第一个程序是"Hello World!",因为这个程序简单容易上手,能给你自信心,让你更加坚定学习编程的信念:单片机也是如此,相信很多单片机老师教给你的第一个程序就是 ...

  4. STM32F103系列芯片的地址和寄存器映射原理、LED轮流闪烁实现

    STM32F103系列芯片的地址和寄存器映射原理.LED轮流闪烁实现 文章目录 STM32F103系列芯片的地址和寄存器映射原理.LED轮流闪烁实现 1 51单片机和STM32的不同点 2 寄存器 2 ...

  5. STM32—LED单灯闪烁之软件延时

    STM32-LED单灯闪烁之软件延时 任务描述 软件设计 Proteus仿真 任务描述 要求通过单片机PC0引脚控制LED0以1秒为周期闪烁 软件设计 使用STM32CubeIDE编写STM32单片机 ...

  6. 卡莱特led显示屏调试教程_|卡莱特LED显示屏校正软件(Calibration Pro)下载v3.5.0 官方版 - 欧普软件下载...

    Calibration Pro是基于卡莱特同步接收卡推出的一款LED显示屏校正软件,主要用于整屏和单箱校正,包括参数设置.相机调节.拍摄照片调整.生成系数等,另外附件中还提供了Calibration ...

  7. STM32使用延时控制LED灯亮暗变换,LED呼吸灯效果

    STM32F407ZE 使用延时控制LED灯亮暗变换,实现LED呼吸灯效果 具体代码如下: main.c部分 #include <stm32f4xx.h> #include "s ...

  8. 一灯大师之点亮OK6410开发板上4个LED裸机程序---嵌入式回归第十篇

    接着上一篇关闭mmu和cache后,这一篇来点亮开发板上的一盏LED小灯,前面所作的初始化工作基本看不到效果,其实这一段也是最麻烦的!如果有问题调试很麻烦!点亮了LED之后就可以用LED来看程序是否如 ...

  9. c语言延时100us程序,编写100MS软件延时程序 汇编语言编写延时程序

    怎么编写单片机晶振为6MHz,编写100ms延时程序? 设主频12MHz的51单片机,编一个100ms二重循环的延时程序如下,供参考. 其它汇编可以类似编程. SSSS:MOV R0,#99:本指令是 ...

最新文章

  1. java培训:Java的十大算法
  2. 构建一个分布式操作系统的简单方案—答陈硕的“分布式系统中的进程标识”一文...
  3. Armadillo脱壳练习笔记(一)
  4. c语言太极图编程语言,利用C语言的Cairo图形库绘制太极图实例教程.pdf
  5. C++中的内联函数inline总结
  6. processing python模式添加图片_processing学习整理---Image
  7. Windows Mobile的一些网站和资源(由网友搜集 我整理了一下)
  8. 计算机辅助设计受力分析,假肢接受腔的受力分析和计算机辅助设计
  9. 【SICP练习】140 练习3.71
  10. [HeadFirst-HTMLCSS入门][第十章div,span]
  11. data spring 指定时区_今天的工作内容:Spring Boot 2.X整合Spring-cache
  12. JavaScript MVC 框架比较
  13. WIN7(VISTA)系统无法上网问题排查方法
  14. 基于Stm32F746g_disg平台下移植zephry使用TinyML预测模型
  15. 51nod 1135 原根(原根)
  16. c语言中闰年的流程图_c语言程序设计流程图怎么画?具体有什么规范,有知道的吗...
  17. 需要升的不是舱,是京东的价值观!
  18. 控制项目进度的方法之一:里程碑式管理
  19. android微信解析失败,微信开放平台sdk解析失败
  20. Sublime Text3插件安装(经典)

热门文章

  1. 1040 输出绝对值
  2. fibonacci斐波那契数列详解 递归求Fn非递归求Fn求n最近的斐波那契数
  3. 造车,家电巨头的新战场
  4. 提升90%!利用结构线索增强视觉场景识别(VPR)能力
  5. lisp 首尾节点闭合_首尾相连的两条线合成线图元列表 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  6. 中国各省区、省会、面积和人口表
  7. Spring Bean的三种配置方式
  8. Qt4.8.6与Qt5.4.0的安装详解
  9. 苏宁易购商品页小练习
  10. Zabbix监控主机应用进程状态(用zabbix方式)