本文章是结合我这一年的学习与应用,总结出来的经验与知识(主要为了应用),欢迎读者们学习和指导。

前言

资料 :
链接:https://pan.baidu.com/s/1pr57NSXFmax06kqPHLQGBQ
提取码:air1

为了保证单片机的使用寿命,ARM公司生产的STM32单片机引脚默认状态是不开启的,所以使用任何功能都要先使能其引脚,才能使用其功能。

1. STM32f103原理图(借鉴野火指南者)

如图所示,此单片机有3个不同颜色的LED灯,分别为LEDG(PB0),LEDB(PB1),LEDR(PB5)。
R-RED,B-BLUE,G-GREED对应三种不同的颜色。

如下图所示:

PB0通过R24与LEDG(发光二极管)相连,再连接3.3v电压。
此电路为串联,要想点亮LEDG,就需要其两端有电势差,因此,需要使能PB引脚并且给其低于3.3v的电压,或者高于3.3v的电压,又因为发光二极管单向导通(头大的那端到头小的那端),所以PB0就得给其低电平,简单化的就直接调用stm32f1官方库函数。

如下代码所示:

//此函数第一个参数对应不同的引脚(GPIOA-GPIOB-GPIOx)
//     第二个参数为引脚号(GPIO_Pin0-GPIO_Pin15)
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{/* Check the parameters */assert_param(IS_GPIO_ALL_PERIPH(GPIOx));//选中IS_GPIO_ALL_PERIPH,再右键Go To Definition of ...............(省略号),可以查看所有能填写的参数assert_param(IS_GPIO_PIN(GPIO_Pin));//选中IS_GPIO_PIN,再右键Go To Definition of ...............(省略号),可以查看所有能填写的参数GPIOx->BRR = GPIO_Pin;//为寄存器操作,新手可不做深究
}

要使用此函数就先得先将引脚的功能对应设置

void LED_Init(void)
{GPIO_InitTypeDef  GPIO_InitStructure;//GPIO结构体初始化(将结构体指针重新换个名字,避免冲突)RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);  //开启LED对应引脚的时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;    //LED对应引脚开启GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        //将模式设置为推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;      //设置引脚传输速度为50mhzGPIO_Init(GPIOB, &GPIO_InitStructure);                  //GPIO初始化,第一个参数为对应引脚,第二个参数为结构体指针,选中GPIO_Init再右键Go To Definition of .......查询此结构的参数,过程与上一次相同
}

如果要点亮LED灯,可将此代码复制到main.c文件中,如下图所示:

#include "stm32f10x.h"int main(void)
{GPIO_InitTypeDef  GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;             GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;       GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;       GPIO_Init(GPIOE, &GPIO_InitStructure);                     while(1)//死循环(while之内的函数一直循环执行){GPIO_ResetBits(GPIOB , GPIO_Pin_0);   //PB0设置为低电平,LED亮 }}

萌新求关注,文章会持续更新。

使用STM32f103点亮led灯——库函数版本相关推荐

  1. STM32F103点亮LED灯

    文章目录 一.点灯 1.打开时钟 2. 初始化 3. 设置低电平 三.创建项目 1. 新建项目 2. 编写代码 四.连接电路 五.总结 使用工具: stm32f103C8T6 USB转串口 面包板 导 ...

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

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

  3. STM32F103实验一:点亮LED灯

    STM32F103点亮LED 这条博客是基于正点原子mini板的代码. 创建文件夹.源文件以及设置路径就不讲了,直接附上代码. 库函数配置步骤 在模板中新建文件夹用于存放 led.c 和 led.h文 ...

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

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

  5. 基于STM32F103入门1——点亮LED灯

    今天学习了STM32固件库点灯程序 点灯也可以玩过很多好玩的东西,在这里做一下总结. STM32点灯程序合集 1:新建固件库工程文件 1.1找到一个固件库模板 1.2:打开KEIL5新建工程 1.3: ...

  6. 一灯大师,基于imx6ull点亮LED灯

    一.imx6ull GPIO原理 1. STM32 GPIO回顾 我们一般拿到一款全新的芯片,第一个要做的事情的就是驱动其 GPIO,控制其 GPIO 输出高低电平,我们学习 I.MX6U 也一样的, ...

  7. STM32F103开关控制LED灯

    本文主要介绍了通过中断来实现开关控制LED灯的亮和灭. 软件:Keil μVision 芯片:STM32F103C8T6 文章目录 一.实验简介 二.实验原理 1. NVIC简介 2.EXTI简介 三 ...

  8. 【STM32】STM32CubeMX教程二--基本使用(新建工程点亮LED灯)

    前言 在配置好CubeMX之后,就是新建工程的开始了,那么首先我们需要一些准备,本片博客我们会很详细的介绍STM32CubeMx的基本使用和如何创建一个新的工程并且点亮LED灯  面向初学者   如果 ...

  9. Clion安装及相关环境(MinGW和OpenOCD)的配置及利用Clion点亮led灯

    目录 一.安装环境 1.clion 2.Stm32cubeMX 3. 安装clion的相关配置环境 3.1 安装MinGW 3.2安装OpenOCD环境 二.利用clion点亮LED灯 1.利用cli ...

最新文章

  1. java OpenCv Mat 类的基本操作(3)
  2. php动态加载js,动态加载script文件的两种方法_javascript技巧
  3. 【LeetCode从零单排】No100 Same Tree No101 Symmetric Tree
  4. 极简数据分析实操指南(下)
  5. 商城项目使用到的主要技术分析
  6. Oracle入门(十四.4)之在PL / SQL中使用变量
  7. 主板扩展槽图解_子板:扩展到主板
  8. JS 数组常用函数(数组合并、数组转字符串、顺序反转、范围选择、排序、插入数据、删除数据)
  9. 【API进阶之路6】一个技术盲点,差点让整个项目翻车
  10. opencv和python是什么关系_使用OpenCV和Python检测眼睛
  11. SP2010开发和VS2010专家食谱--第一章节--列表和事件接收器(6)--使用列表事件接收器...
  12. 用python画多来a梦-python 绘制哆啦A梦
  13. 数组自带的函数(方法)
  14. 如何解决大规模高性能存储可靠性问题?
  15. ConstraintLayout 完全解析 快来优化你的布局吧
  16. un-app网易云歌词滚动功能
  17. RS485/RS422接线图
  18. 结对开发石家庄地铁查询系统
  19. 【转】js高德地图图标合集
  20. rust怎么拆除墙壁指令_腐蚀RUST指令大全

热门文章

  1. 安装npm和cnpm
  2. 布袋除尘器过滤风速多少_布袋除尘器过滤风速一般多大?
  3. Qt--QMetaObject
  4. 汉画轩—让国学与区块链技术碰撞出更璀璨的火花
  5. html输入时提示文字消失,inpuhtml文本框代码t 初始里边有文字提示 当点击时 文字消失 怎么设置...
  6. plc输出类型有哪些?
  7. 分布式事务实现原理【BAT 面试题宝库附详尽答案解析】
  8. VS生成桌面应用程序
  9. 深入理解TCP三次握手与四次挥手过程以及抓包实验
  10. 【心情分享】联系博主